2

B要素のリストを持つクラスAがあります。

私のAクラスでは、次を追加したいと思います:

int size;

これは、B 要素の数で評価されます。だから私が電話するとき、私はmyA.getSize()それを持っています。

休止状態のマッピングで単一のプロパティを使用してカウント クエリをマップすることは可能ですか?

リストをロードしたくないので、サイズ プロパティを追加したいと思います。

4

2 に答える 2

3

休止状態のマッピングで単一のプロパティを使用してカウント クエリをマップすることは可能ですか?

はい、を使用します:

<property name="size" type="integer"
formula="( select count(a.getBs) from A a where a.id = aid )">
</property>

例: さまざまなマッピングのその他の例。

于 2010-02-23T11:10:22.350 に答える
1

別のアプローチは、コレクションでlazy=extraを使用することです。これはリファレンスドキュメントではほとんど言及されておらず、ここでさらに説明されています。

「スマート」なコレクション動作のコレクションでlazy="extra"を使用します。つまり、size()、contains()、get()などの一部のコレクション操作はコレクションの初期化をトリガーしません。これは、非常に大規模なコレクションにのみ適しています。

于 2010-02-23T14:29:35.787 に答える