Specificando colonne in cause selezionare jpql errore colata
Domanda
Quando ho specificare le colonne nel mio jpql / JPA interrogazione 2.0, vale a dire select p.id, p.lastName, p.firstName from Profile p where p.group = :group
ottengo il seguente errore:? [Ljava.lang.Object; cannot be cast to com.profs.ws.Profile...
Qualcuno sa come risolvere questo problema fusione
La classe di entità Profile
stessa ha proprietà dei seguenti tipi: String, int, and Collection
. Le proprietà che sto selezionando nella query sono sia di tipo String
o int
.
Soluzione
Quando si specifica proprietà di un oggetto, JPA restituisce l'elenco dei Object[]
. Si può lanciare il valore di ritorno a List<Object[]
invece di List<Profile>
per evitare il ClassCastException
. Se si utilizza Hibernate come provider JPA, è possibile mappare la clausola select a un nuovo oggetto. Vedere documentazione selezionare clausola per i dettagli.