私は現在休止状態で作業しており、次の問題の解決策を見つけるためにすでに数週間試しています。いつものように、テーブルの変更はできません。
次のような 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>
誰かが良いアプローチを提案できることを願っています。