Jpa IntelliJ IDEA突出显示@Entity类名,并加上“;无法解析符号“;在JPQL中

Jpa IntelliJ IDEA突出显示@Entity类名,并加上“;无法解析符号“;在JPQL中,jpa,intellij-idea,annotations,jpql,Jpa,Intellij Idea,Annotations,Jpql,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.candidateK

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(我的项目不使用)

请确保您的模块在IntelliJ IDEA中具有或facet。

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

文件->项目结构

在左窗格中选择“镶嵌面”。如果没有列出JPA,请单击“+”符号并添加“JPA”

在同一对话框的底部,在“默认JPA提供程序”中,选择“休眠”,按“确定”

如果@Table annotation出现错误,请配置并选择数据源


现在选择的表名应被识别为实体类名

如果您使用的是Spring boot,请尝试添加此依赖项。

spring boot starter数据jpa

您正在使用spring吗?如果是这样,则需要Spring方面。请提供如何执行上述操作的说明。如果您使用Spring进行JPA配置(no persistence.xml),只需创建一个JPA方面并设置默认JPA提供程序。不需要指定xml文件。您还必须右键单击“持久性”菜单中的根项,然后单击“分配数据源…”。。。然后选择你的数据库,你应该是所有的set@Amalgovinus对于Spring引导应用程序,没有什么可供选择的。即使手动创建JPA和/或Hibernate facets,列表也会保持为空。我应该在哪里设置它?转到文件>项目结构>facets。然后单击+图标并将JPA添加到您的项目/模块中。完成此操作后,您可以选择默认的JPA提供商。这并不能解决我的问题。