web-dev-qa-db-fra.com

IntelliJ IDEA met en évidence les noms de classe @Entity avec "Impossible de résoudre le symbole" dans JPQL

IntelliJ IDEA met en évidence les noms de classe @Entity persistants avec "Impossible de résoudre le symbole" en rouge dans JPQL, ce qui distrait et enterre de vrais problèmes.

Ainsi, par exemple, je déclare une requête dans mon référentiel:

private static final String READ_BY_CANDIDATE_KEY = "SELECT cr FROM Entity AS cr left join cr.relationship AS re left join fetch cr.relationship2 WHERE re.candidateKey=:ID";

.. et "Entité" est souligné, même si "Entité" est un nom de classe valide et a l'annotation @Entity. Lorsque le code s'exécute réellement, il n'y a aucun problème.

J'imagine qu'une sorte de configuration est requise pour que le IDE sache quelles classes sont valides? Comment se fait cette configuration?

pdate: J'ai une facette JPA, mais elle ne voit pas les classes annotées. Il semble nécessiter un persistence.xml ou orm.xml (que mon projet n'utilise pas)

40
Simon Gibbs

Il semble que vous n'ayez pas sélectionné le fournisseur JPA par défaut dans la configuration des facettes. Selon le fournisseur que vous utilisez, choisissez-en un dans la liste. Les options disponibles sont EclipseLink, Hibernate, OpenJPA, TopLink

47
rajnish

Assurez-vous d'avoir JPA ou Hibernate facet configuré dans IntelliJ IDEA pour votre module.

24
CrazyCoder