B要素のリストを持つクラスAがあります。
私のAクラスでは、次を追加したいと思います:
int size;
これは、B 要素の数で評価されます。だから私が電話するとき、私はmyA.getSize()
それを持っています。
休止状態のマッピングで単一のプロパティを使用してカウント クエリをマップすることは可能ですか?
リストをロードしたくないので、サイズ プロパティを追加したいと思います。
B要素のリストを持つクラスAがあります。
私のAクラスでは、次を追加したいと思います:
int size;
これは、B 要素の数で評価されます。だから私が電話するとき、私はmyA.getSize()
それを持っています。
休止状態のマッピングで単一のプロパティを使用してカウント クエリをマップすることは可能ですか?
リストをロードしたくないので、サイズ プロパティを追加したいと思います。
休止状態のマッピングで単一のプロパティを使用してカウント クエリをマップすることは可能ですか?
はい、式を使用します:
<property name="size" type="integer"
formula="( select count(a.getBs) from A a where a.id = aid )">
</property>
例: さまざまなマッピングのその他の例。
別のアプローチは、コレクションでlazy=extraを使用することです。これはリファレンスドキュメントではほとんど言及されておらず、ここでさらに説明されています。
「スマート」なコレクション動作のコレクションでlazy="extra"を使用します。つまり、size()、contains()、get()などの一部のコレクション操作はコレクションの初期化をトリガーしません。これは、非常に大規模なコレクションにのみ適しています。