是否可以在没有id的情况下在JPA / Hibernate中进行继承?
我的用例:
我有多个实体,我希望每次更改时都会记录时间戳。所以我创建了AbstractResource并希望每个派生类都继承属性和逻辑(以避免在每个类中反复编写相同的东西)。
我的问题是hibernate想要一个ID到实体,我不关心id,因为我唯一关心的是附加属性。每个实体都可以拥有它想要的任何id(String,int,long,不同的名称等)。
我尝试使用Embeddable,但看起来hibernate不支持Embeddable的继承。你有任何想法,我的任务如何实现?
我的父类来自“审核”实体:
@Embeddable
@EntityListeners(AbstractResourceListener.class)
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class AbstractResource {
private long modifyTimestamp;
@Column(name = "_MODIFY_TIMESTAMP", nullable = true)
public long getModifyTimestamp() {
return modifyTimestamp;
}
public void setModifyTimestamp(long modifyTimestamp) {
this.modifyTimestamp = modifyTimestamp;
}
}