1

私は現在休止状態で作業しており、次の問題の解決策を見つけるためにすでに数週間試しています。いつものように、テーブルの変更はできません。

次のような 2 つのテーブルがあります。

Table 1
     -> ID
     -> REF_ID

-

Table 2
     -> ID  

ID は、各テーブルの主キーです。REF_ID はほとんどが 0 ですが、有効な ID が含まれている場合もあります。

だから私は休止状態でそのようなことを実現しようとしています:

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>

誰かが良いアプローチを提案できることを願っています。

4

0 に答える 0