私は冬眠するのが初めてです。.hbm.xml ファイルを使用する古いバージョンを使用する継承されたコードベース (注釈なし)
いくつかのテーブル (テーブル B および C) に対して 1 対多の休止状態の関係を持つテーブル (テーブル A など) があり、「lazy」属性は false に設定されています。hiberateTemplate.load(Table a) を実行しているときに、3 つのテーブルすべてからデータを取得します。私の状況では、子テーブルの 1 つ (テーブル B) に対して結合を実行し、テーブル B で特定のフィールド値を探し、すべての A、B、C からテーブル B の一致するフィールド値に対してのみレコードを取得する必要があります (テーブル B特定のフィールド)。
表A(イベント)
<set name="eventKeyIdentifiers" table="EventKeyIdentifier"
inverse="true" lazy="false" fetch="select">
<key>
<column name="eventId" not-null="true" />
</key>
<one-to-many class="event.EventKeyIdentifiers" />
</set>
<set name="eventStatuses" table="EventStatus"
inverse="true" lazy="false" fetch="select" order-by="effectiveDate DESC">
<key>
<column name="eventId" not-null="true" />
</key>
<one-to-many class="event.EventStatuses" />
</set>
表B(イベントステータス)
<many-to-one name="event" class="event.Event" update="false" insert="false" fetch="select">
<column name="eventId" length="36" not-null="true" />
</many-to-one>
<property name="statusCode" type="string">
<column name="statusCode" length="100" not-null="true" />
</property>
テーブル A (イベント) は、特定の「statusCode」(テーブル B) 用にロードする必要があります
助言がありますか?