使用Hibernate将2个表映射到1个域

时间:2013-10-21 15:20:21

标签: hibernate mapping

我试图用Hibernate为我做一件复杂的事情。我会解释一下:

我有2张桌子。每个表中的3列是相同的(我的意思是相同的值),但具有不同的名称。例如:

Table1 (name, tour, year, column1, column2, ...) and PK is (name, tour, year)

Table2 (name_aux, tour_aux, year_aux, column3, column4, ...) and PK is (name_aux, tour_aux, year_aux)

所以,我想在Hibernate中将这两个表转换为1个域对象。我读到有一个@SecondayTable注释,但我认为不是我想要的。我也不知道这是否可行。目前我有2个域对象映射这两个表及其@EmbeddedId导致复合PK。

域对象的结果应该是具有以下属性的类:

name (or name_aux)
year (or as year_aux)
tour (or tour_aux)
column1
column2
column3
column4

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您有两个表格,其中3列的数据相同,但是相同的3列的列名称是不同的吗?

您可以使用@Embedded为两个diff域对象使用相同的对象,同时可以使用属性@AttributeOverride

覆盖列名

在这里查看http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/