是否可以在没有id的JPA / Hibernate中进行继承?
我的用例:

我有多个实体,我想每次进行更改时都要记录时间戳。因此,我创建了AbstractResource并希望每个派生类都继承属性和逻辑(以避免在每个类中重复编写相同的内容)。

我的问题是休眠状态需要一个ID到实体,我不在乎id,因为我唯一关心的是其他属性。每个实体都可以具有所需的任何ID(字符串,整数,长整数,不同的名称等)。

我尝试使用Embeddable,但是看起来冬眠不支持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;
    }
}

最佳答案

@MappedSuperclass是超类的注释,您可以扩展这些超类并在审核中使用。请参阅example

10-04 20:18