Hibernate继承映射中的多个鉴别器列

Hibernate继承映射中的多个鉴别器列,hibernate,single-table-inheritance,Hibernate,Single Table Inheritance,我了解了如何在Hibernate继承映射中使用DiscriminatorColumn, 然而,在我的场景中,我有一个更复杂的继承模块,其中我需要定义两个鉴别器。我想对整个继承树使用一个表。 基本上,父类是Abstract,它代表一个person实体, 然后,我有两个不同的抽象实现,妻子和丈夫。所以基本上我已经需要一个鉴别器了。然后对于每个(妻子和丈夫)我都有不同的消息需要保存,所以我不需要为每个(妻子和丈夫)创建一个鉴别器 我提出了这个实现,但我被卡住了,我如何从这里继续 @Entity @Ta

我了解了如何在Hibernate继承映射中使用DiscriminatorColumn, 然而,在我的场景中,我有一个更复杂的继承模块,其中我需要定义两个鉴别器。我想对整个继承树使用一个表。 基本上,父类是Abstract,它代表一个person实体, 然后,我有两个不同的抽象实现,妻子和丈夫。所以基本上我已经需要一个鉴别器了。然后对于每个(妻子和丈夫)我都有不同的消息需要保存,所以我不需要为每个(妻子和丈夫)创建一个鉴别器

我提出了这个实现,但我被卡住了,我如何从这里继续

@Entity
@Table (name="sex")
@Inheritance (strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn (name="transaction_type", discriminatorType=DiscriminatorType.STRING)
public abstract class Person {
...
}

@Entity
@DiscriminatorValue("wife")
public class Wife extends Person {
...
}

现在,我如何在妻子类上放置鉴别器列,就像我在父类上所做的一样?

您不需要第二个鉴别器。
妻子
实体将正常工作。
在两级继承情况下,中产阶级(本例中为妻子和丈夫)不需要有
@DiscriminatorColumn

相关问题可能会有所帮助。

另一个问题是,您不需要秒鉴别器。
妻子
实体将正常工作。
在两级继承情况下,中产阶级(本例中为妻子和丈夫)不需要有
@DiscriminatorColumn

相关问题可能会有所帮助。

另一个问题

为什么需要“第二鉴别器”?这个不同的消息是另一个Person子类的指示器吗?如果是的话,你不能创建另一个子类吗?如果没有,那么你可以只使用一个常规字段和一些布尔值来指示其中包含的“消息”类型吗?@PiotrNowicki,每条消息都是不同的类,包含不同的字段,当然,消息会根据人的类型进行区分,妻子有自己的消息,丈夫有自己的。所以
妻子
丈夫
实体不能分别有
WifeMessage
丈夫消息
作为字段?好的,基本概念是这样的,我想要一个名为“待定消息”的表。当一个人登录到系统时,它会显示他是否有消息,这是一种与丈夫和丈夫都有的一般行为。现在他想从表中检索消息,所以我们也应该是一个鉴别器列。为什么需要“第二个鉴别器”?这个不同的消息是另一个Person子类的指示器吗?如果是的话,你不能创建另一个子类吗?如果没有,那么你可以只使用一个常规字段和一些布尔值来指示其中包含的“消息”类型吗?@PiotrNowicki,每条消息都是不同的类,包含不同的字段,当然,消息会根据人的类型进行区分,妻子有自己的消息,丈夫有自己的。所以
妻子
丈夫
实体不能分别有
WifeMessage
丈夫消息
作为字段?好的,基本概念是这样的,我想要一个名为“待定消息”的表。当一个人登录到系统时,它会显示他是否有消息,这是一种与丈夫和丈夫都有的一般行为。现在他想从表中检索消息,所以我们也应该是一个鉴别器列。