如何使用 PanacheEntityBase 创建自己的 BaseEntity?

How can I create my own BaseEntity using PanacheEntityBase?

我正在使用 Panache ORM(与 Postgresql),我想为我拥有的每个实体添加一列。

我有这个:

@Entity
public class MyTable extends PanacheEntityBase {
    // My columns
}

我想要这个:

@Entity
public class MyBaseEntity extends PanacheEntityBase {
    public String someId;
}

@Entity
public class MyTable extends MyBaseEntity {
    // My columns
}

现在这不起作用,因为 Panache 现在正在寻找不存在的“base_entity”Table。

这能实现吗?

因为 MyBaseEntity 没有 table 你必须用 @MappedSuperclass

替换 @Entity
@MappedSupperclass
public class MyBaseEntity extends PanacheEntityBase {
    public String someId;
}

MappedSuperclass 告诉 JPA 在子 classes.

中使用这个 class 的属性

另请查看文档:https://docs.jboss.org/hibernate/orm/5.5/userguide/html_single/Hibernate_User_Guide.html#entity-inheritance-mapped-superclass