テーブルを表すドメイン オブジェクト クラスがあります。このクラスには別のテーブルへの関連付けがありますが、ソース クラスのプロパティはターゲット クラスのプロパティと同じ名前ではなく、休止状態でマップする方法がわかりません。
以下は、セットを持つクラスの例です (1 つの CT から複数の R インスタンスへ)。
public class CT {
// This is the property in the property-ref down below
private String b;
// The set of Rs I want to get - there may be none that correspond to a CT instance.
private Set rs;
}
public class R {
// This property is mapped to the column name below.
private String rBc;
}
<!--Snippet of the mapping for class CT-->
<set name="rs" lazy="true" sort="MyComparator" table="R" >
<key column="R_COLUMN_NAME_THAT_REPRESENTS_THE_RELATIONSHIP" property-ref="b" />
<one-to-many class="CLASS_THAT_R_IS" />
</set>
Hibernate はこのマッピングを受け入れますが、存在するはずの CT インスタンスから R のセットを取得すると、空の PersistentSet が取得されます。
各 CT インスタンスに R が存在しないか、複数存在する可能性が十分にあることに注意してください。これが私がそこにコンパレーターを持っている理由です-明示的なSQLなしでORDER BY句を実行する方法をHibernateに簡単に伝える方法を理解できません(Hibernateマッピングに書くのをためらっています.
誰かがここで私を助けてくれますか?