如何连接表并拥有每个表的所有属性?

时间:2012-04-28 15:32:45

标签: java hibernate jpa

假设您有两个实体,一个Article,另一个是Fruits。现在,实体Article的所有属性都由实体Fruits继承。

所以,假设我有一个带有列的文章表:

ART_ID
ART_NAME
ART_COST

和包含列的Fruit表:

FRU_ID
FRU_FROZEN

现在我想在我的JPA代码中实现,在检索Fruit个对象时,我会检索应该是它们的所有数据,这个数据包含来自Article和{{}}的信息。 {1}}表格 - FruitART_IDART_NAMEART_COSTFRU_ID

这可能在JPA中吗?我应该使用FRU_FROZEN@Inheritance还是什么?如果需要可以提供代码。


*编辑*

我的结论是,下面的代码符合我的需求:

@JoinColumn

谢谢!

1 个答案:

答案 0 :(得分:1)

你的所有Fruits还是Article吗?如果类之间存在真正的泛化(继承)关系,请使用@Inheritance和连接表策略。

你可以在Fruits上查询,而Hibernate可以完成所有的魔法。

顺便说一句,如果你想在Article表中有一个鉴别器列(连接策略和鉴别器的组合)。使用单表策略映射它,并在子类中定义@SecondaryTable,这就是Hibernate支持它的方式。