Java 没有id的JPA/Hibernate继承
在没有id的JPA/Hibernate中可以进行继承吗Java 没有id的JPA/Hibernate继承,java,hibernate,jpa,inheritance,Java,Hibernate,Jpa,Inheritance,在没有id的JPA/Hibernate中可以进行继承吗 我的用例: 我有多个实体,我希望每次进行更改时都记录时间戳。所以我创建了AbstractResource,并希望每个派生类继承属性和逻辑(以避免在每个类中反复编写相同的内容) 我的问题是hibernate希望实体有一个ID,我不关心ID,因为我唯一关心的是附加属性。每个实体可以有它想要的任何id(字符串、int、long、不同的名称等) 我尝试了Embeddeble,但hibernate似乎不支持Embeddeble的继承。你有什么想法,如
我的用例: 我有多个实体,我希望每次进行更改时都记录时间戳。所以我创建了AbstractResource,并希望每个派生类继承属性和逻辑(以避免在每个类中反复编写相同的内容) 我的问题是hibernate希望实体有一个ID,我不关心ID,因为我唯一关心的是附加属性。每个实体可以有它想要的任何id(字符串、int、long、不同的名称等) 我尝试了Embeddeble,但hibernate似乎不支持Embeddeble的继承。你有什么想法,如何完成我的任务 派生“已审核”实体的父类:
@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;
}
}
@MappedSuperclass是可以在审计中扩展和使用的超类的注释。请看