如果2个表之间存在间接关系,如何在Hibernate中获取记录

时间:2012-05-07 13:19:34

标签: hibernate relationship

在Hibernate中,我有3个表table1,table2和一个Master表。 table1与Master表具有1对多的关系,表2与Master表具有1对1的关系。我的问题是,是否有可能使用table2对象获取table1记录,而table1和table2之间没有直接关系,但两者之间通过Master表之间存在间接关系。如果可能的话,请解释如何使用table2对象获取table1记录。

1 个答案:

答案 0 :(得分:0)

您可以在table1和table2之间形成一个笛卡尔联接,并通过where条件表达间接关系。

代表: 从tableA中选择a作为a,tableB作为b,其中a.column1 = b.column2和b.column3 = 10

希望这能解决你的问题。

编辑:如果table1和table2有一列与Master表共享公共值但没有直接关系,则可以使用上述内容。 否则,您将必须使用主表来连接/关联table1和table2。