【发布时间】:2012-08-21 13:01:36
【问题描述】:
我正在尝试为一组实体创建一个基类,以减少编码工作和重复。我的想法是基类具有公共元数据字段,子类处理它们的独特属性。
我的基类:
@MappedSuperclass
public abstract class FinanceEntityBean {
protected Long id;
@Version
private long version;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
public Long getId() {
return id;
}
public void setId(final Long id) {
this.id = id;
}
}
第一个实体:
@Entity
@Table(name = "tag")
public class Tag extends FinanceEntityBean {
}
我已经使用此代码编写了测试来对 Tag 实体执行 CRUD 功能,它们都工作正常。
我的问题是 - 为什么 Eclipse (Indigo) 坚持认为 Tag 有错误:
The entity has no primary key attribute defined
我现在已将其更改为警告,以便我的代码能够编译,但我很好奇 Eclipse 为什么不高兴,以及我是否误解了什么。
这是有效的 JPA 2.0 代码吗? Hibernate 4.1.5 是我的 JPA 提供程序。
【问题讨论】:
-
此警告/错误是错误的,您可以在首选项中禁用它
标签: java eclipse hibernate jpa jpa-2.0