具有多个但独立的主键(OR)的Hibernate映射

时间:2012-08-29 13:44:41

标签: java hibernate mapping

我目前正在使用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>

我希望有人能提出一个好方法。

0 个答案:

没有答案