Angeben von Spalten in JPQL wählen Ursachen Gussfehler
Frage
Wenn ich angeben Spalten in meinem JPQL / JPA 2.0 Abfrage, das heißt select p.id, p.lastName, p.firstName from Profile p where p.group = :group
Ich erhalte die folgende Fehlermeldung:? [Ljava.lang.Object; cannot be cast to com.profs.ws.Profile...
Wer weiß, wie dieses Casting Problem zu beheben
Die Profile
Entitätsklasse selbst hat Eigenschaften der folgenden Typen: String, int, and Collection
. Die Eigenschaften Ich bin in der Abfrage der Auswahl sind entweder vom Typ String
oder int
.
Lösung
Wenn Sie Eigenschaften eines Objekts angeben, gibt JPA die Liste der Object[]
. Sie können den Rückgabewert gegossen statt List<Object[]
List<Profile>
die ClassCastException
zu vermeiden. Wenn Sie Hibernate als JPA-Provider verwenden, können Sie die select-Klausel auf ein neues Objekt abzubilden. Siehe select-Klausel Dokumentation.