Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于JPA/Hibernate的多层继承策略_Java_Hibernate_Jpa_Hibernate Mapping - Fatal编程技术网

Java 基于JPA/Hibernate的多层继承策略

Java 基于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; ... }

如果使用hibernate/JPA继承类型不在同一级别上,是否可以混合使用它们

下面的名称只是示例,但JPA似乎希望使用leaf和flower表,即使它们最接近的继承类型是SINGLE_表

我很确定这是不受支持的,但可以说,为什么不呢

我正在使用Hibernate
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 |
+-----------+     | ...       |
                  +-----------+