jpa-IntelliJ IDEA在JPQL中用“无法解析符号”突出显示@Entity类名称

IntelliJ IDEA在JPQL中用红色突出显示了持久性@Entity类名称,并带有“无法解析符号”,这会分散注意力,并掩盖了实际问题。

因此,例如,我在存储库中声明了一个查询:

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";

..和“ Entity”带下划线,即使“ Entity”是有效的类名称,并带有@Entity批注。 当代码实际运行时,没有任何问题。

我想象需要某种配置来让IDE知道哪些类是有效的? 该配置如何完成?

更新:我确实有一个JPA方面,但是没有看到带注释的类。 似乎需要persistence.xml或orm.xml(我的项目未使用)

Simon Gibbs asked 2020-08-08T21:39:24Z
2个解决方案
48 votes

似乎您没有在构面配置中选择默认的JPA提供程序。 根据您使用的提供商,从列表中选择一个。 可用的选项是EclipseLink,Hibernate,OpenJPA,TopLink

rajnish answered 2020-08-08T21:39:29Z
24 votes

确保在IntelliJ IDEA中为模块配置了JPA或Hibernate facet。

CrazyCoder answered 2020-08-08T21:39:49Z
translate from https://stackoverflow.com:/questions/12420996/intellij-idea-highlights-entity-class-names-with-cannot-resolve-symbol-in-jpq