使用注释将一个实体映射到两个不同的表中

时间:2012-09-28 14:34:01

标签: java mysql hibernate

我遇到以下问题很麻烦。 我有一个实体“Home”,我在我的代码中的两个不同位置使用它。 问题是,有必要将此实体映射到不同的表 他们在课堂上使用过。

如果我们假设我有两个类Class1和Class2。两个班都有 “Home”类型的属性。现在我想要将class1中的属性映射到表“CLASS1_HOME”,并将class2的属性映射到表“CLASS2_HOME”。

我知道这可以通过例如使用“MappedSuperClass”用于类“Home”并创建另一个类“Second_Home”来继承类“home”的所有属性。但我的问题是如果没有继承就有可能,因为家的属性不会改变,我认为“继承”解决方案是一种“肮脏”。而且,我只想通过使用注释来实现这一点。

有没有办法像我描述的那样去做?

1 个答案:

答案 0 :(得分:0)

如果您不想使用继承,并且如果您在CLASS1_HOME和CLASS2_HOME表中以相同的方式保存HOME,我建议这样:

public class Home{
boolean Class1;
}

在这种情况下,当你坚持它时,你可以简单地判断这是否适用于Class1。如果您愿意,基于数据库中持久存在的标志,您可以创建CLASS1_Home和CLASS2_Home的两个视图