Java 基于JPA/Hibernate的多层继承策略
如果使用hibernate/JPA继承类型不在同一级别上,是否可以混合使用它们 下面的名称只是示例,但JPA似乎希望使用leaf和flower表,即使它们最接近的继承类型是SINGLE_表 我很确定这是不受支持的,但可以说,为什么不呢 我正在使用HibernateJava 基于JPA/Hibernate的多层继承策略,java,hibernate,jpa,hibernate-mapping,Java,Hibernate,Jpa,Hibernate Mapping,如果使用hibernate/JPA继承类型不在同一级别上,是否可以混合使用它们 下面的名称只是示例,但JPA似乎希望使用leaf和flower表,即使它们最接近的继承类型是SINGLE_表 我很确定这是不受支持的,但可以说,为什么不呢 我正在使用Hibernate5.4.2.Final @Entity @Table @Inheritance(strategy = JOINED) abstract class Trunk { @Id private Long id; ... }
5.4.2.Final
@Entity
@Table
@Inheritance(strategy = JOINED)
abstract class Trunk {
@Id private Long id;
...
}
模式应该是这样的:
+-----------+ +-----------+
| Trunk | | Branch |
+-----------+ +-----------+
| id:bigint |1---1| id:bigint |
| ... | | kind:text |
+-----------+ | ... |
+-----------+
@Entity
@DiscriminatorValue(value = "leaf")
class Leaf extends Branch {
...
}
@Entity
@DiscriminatorValue(value = "flower")
class Flower extends Branch {
...
}
+-----------+ +-----------+
| Trunk | | Branch |
+-----------+ +-----------+
| id:bigint |1---1| id:bigint |
| ... | | kind:text |
+-----------+ | ... |
+-----------+