我有许多一般形式的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的类中没有其他属性。有一个getter和一个“id”的setter,但它们没有注释。顺便说一句,实体类的代码是由NetBeans生成的,它似乎有效。
发生了什么,我该如何纠正?
答案 0 :(得分:8)
这似乎是因为您在同一属性上同时拥有@Id
和@Basic
注释(快速修复建议删除其中任何一个)。我不是JPA的专家,但它看起来对我有用,所以也许这是IntelliJ检查中的一个错误,应该在their bugtracker报告。
答案 1 :(得分:3)
看来这是一个错误。这里有报道:https://youtrack.jetbrains.com/issue/IDEA-129147如果你希望看到解决方案,你可以进行投票。