Especificación de columnas en causas seleccione JPQL error de casting
Pregunta
Cuando especifico columnas en mi JPQL / JPA 2.0 consulta, es decir, select p.id, p.lastName, p.firstName from Profile p where p.group = :group
me sale el siguiente error:? [Ljava.lang.Object; cannot be cast to com.profs.ws.Profile...
Alguien sabe cómo resolver este problema de fundición
La propia clase entidad Profile
tiene propiedades de los siguientes tipos: String, int, and Collection
. Las propiedades que estoy seleccionando en la consulta son o bien del tipo o String
int
.
Solución
Cuando se especifican las propiedades de un objeto, JPA devuelve la lista de Object[]
. Puede convertir el valor devuelto a List<Object[]
en lugar de List<Profile>
para evitar la ClassCastException
. Si está usando Hibernate como proveedor JPA, puede asignar la cláusula select a un nuevo objeto. Ver documentación cláusula select para más detalles.