如何避免 IntelliJ 中可嵌入类的验证错误“无法解析列 'xy'”?

Gre*_*tle 4 java hibernate jpa intellij-idea code-inspection

我在 Java/Hibernate 项目中使用 IntelliJ。我还为该项目分配了一个数据源,因此大多数非现有列的 JPA 验证错误都消失了。

剩下的唯一错误是在@Embeddable 类中定义的这些列,例如:

@Embeddable
public class MyEmbeddedClass {

    @Column(name="my_embedded_column")
    private String myEmbeddedColumn;
Run Code Online (Sandbox Code Playgroud)

IntelliJ 不断警告我这些列不存在于数据模型中:

“无法解析列‘my_embedded_column’”

有什么方法可以让 IntelliJ 在不禁用整个 JPA 验证功能的情况下跳过 @Embeddable 类的这些 JPA 验证检查,还是我应该为 JPA 验证插件创建错误票证?

Lei*_*eib 6

同样的问题在这里。我遵循了@Andrey 的建议,它对我有用。我已将我的 @embeddable 类移动到一个子包 (org.mydomain.back.entities.ids) 中。我已经定义了一个范围“MyCustomScope”,明确排除了这个子包。然后我配置了“检查-->JPA-->注释中未解析的数据库引用”,如下所示:

按范围划分的严重性: - MyCustomScope (allButEmbeddedKeys):已检查和“错误”。- 其他地方:未选中。

这与其说是实际解决方案,不如说是一种变通方法,因为在此类类中禁用了 JPA 检查,这会带来所有不便。但是“embeddableId”类中的所有错误都消失了。也适用于定义到该子包中的新类。希望能帮助到你!