0

状況: クラスMyClassとその「軽量」バージョンMyClassLiteがあるので、

public class MyClass : MyClassLite

クラスのマッピングにもhbmファイルを使用します (それらは同じテーブルにマッピングされます)。問題は、 MyClassLiteエンティティのリストを取得しようとすると、MyClassLiteエンティティだけでなく、さらにMyClassエンティティのリストも取得することです。どうすればそれを取り除くことができますか?

4

2 に答える 2

1

この ClassLite とは正確には何ですか? Class が ClassLite を継承するのはなぜですか? ここに本当に「IS-A」関係があるのでしょうか?

ClassLite の存在理由は?たとえば、「クラス」インスタンスの概要を表示する必要がある場合に使用するクラスですか? 次に、これが当てはまる場合は、DTO または「ビュー」、プロジェクション、および AliasToBeanEntityResultTransformer を確認する必要があります。

于 2009-10-09T10:43:57.400 に答える
0

マッピングまたはクエリでリストの熱心な読み込みを構成すると、MyClass 実装が取得されます。

条件クエリでは:

Criteria.SetFetchmode("MyClassListProperty", Fetchmode.Eager)

hql クエリで:

left join fetch MyClassListProperty

マッピングファイルで:

<set [...] lazy="false"> ...
于 2009-10-09T10:38:55.163 に答える