我目前正在使用hibernate,并且已经尝试了几周来找到解决以下问题的解决方案。一如既往地无法更改表格。
这样有两个表:
Table 1
-> ID
-> REF_ID
-
Table 2
-> ID
ID是每个表的主键。 REF_ID大部分为0,但有时包含有效的ID。
所以我希望在hibernate中实现类似的东西:
select
....
from
Table1 this_
inner join
Table2 this_1_
on this_.ID=this_1_.ID
or this_.REF_ID=this_1_.ID
我必须在java代码中应用某些标准,所以我可能无法使用HQL。此外,我已经在使用其他表的代码,所以理想情况下我想使用映射文件。我当前的映射文件如下所示:
<hibernate-mapping>
<class name="Table1" table="Table1">
<id name="ID" type="string">
<column name="ID" />
</id>
<join table = "Table2" fetch = "join">
<key column ="ID"/>
</join>
</class>
</hibernate-mapping>
我希望有人能提出一个好方法。