Spécification des colonnes dans les causes sélectionnez JPQL erreur de casting

StackOverflow https://stackoverflow.com/questions/4235573

  •  26-09-2019
  •  | 
  •  

Question

Quand je des colonnes sont indiquées dans mon JPQL / JPA 2.0 requête, à savoir select p.id, p.lastName, p.firstName from Profile p where p.group = :group j'obtenir l'erreur suivante: [Ljava.lang.Object; cannot be cast to com.profs.ws.Profile... Quelqu'un sait comment résoudre ce problème de casting

La classe entité Profile lui-même a des propriétés des types suivants: String, int, and Collection. Les propriétés je sélectionne dans la requête sont soit du type String ou int.

Était-ce utile?

La solution

Lorsque vous spécifiez les propriétés d'un objet, JPA renvoie la liste des Object[]. Vous pouvez lancer la valeur de retour à List<Object[] au lieu de List<Profile> pour éviter le ClassCastException. Si vous utilisez Hibernate en tant que fournisseur JPA, vous pouvez mapper la clause select à un nouvel objet. Voir documentation clause select pour plus de détails.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top