jpa - 为什么 IntelliJ 的 JPA 检查告诉我 "more than one attribute configured for field ' id'”?

标签 jpa intellij-idea

我有许多通用形式的 JPA 实体类:

@Entity
@Table(name = "MY_TABLE", catalog = "", schema = "VBMSUI")
@NamedQueries({...})
public class MyEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "ID")
    @GeneratedValue(strategy=GenerationType.SEQUENCE,
            generator="MY_TABLE_ID_SEQ")
    @SequenceGenerator(name="MY_TABLE_ID_SEQ",
            sequenceName = "MY_TABLE_ID_SEQ")
    private BigDecimal id;
...
}

IntelliJ 的检查工具以红色突出显示“id”,并提供消息 - “为字段 'id' 配置了多个属性”。

类中没有其他属性被标识为 id。 “id”有一个 getter 和一个 setter,但它们没有注释。顺便说一句,实体类的代码是由 NetBeans 生成的,它似乎可以工作。

发生了什么,我该如何纠正?

最佳答案

这似乎是因为您在同一属性上同时具有 @Id@Basic 注释(快速修复建议删除其中之一)。我不是 JPA 方面的专家,但它对我来说似乎有效,所以它可能是 IntelliJ 检查中的一个错误,应该在 their bugtracker 中报告。

关于jpa - 为什么 IntelliJ 的 JPA 检查告诉我 "more than one attribute configured for field ' id'”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15225697/

相关文章:

java - Intellij 需要很长时间才能执行 JUnit 测试的 Maven 目标

scala - 尝试调试时总是获取ClassNotFoundException

java - 自动将继承转换为委托(delegate)

validation - 在哪里实现跨实体验证?

java - JPA native 查询返回具有来自多个表的字段的实体

java - 如何在多对多关系中使用 hibernate 和 JPA 删除孤立实体?

java - JPA Spring 忽略 @Transacational 内的延迟加载

java - EntityManager 刷新

git - 如何让 git 通过代理和 IntelliJ Idea 工作?

java - IntelliJ Idea 不显示 GUI