3

ダービーデータベースに3つのテーブルがあります。スケジュール、EmployeeSchedule、EmployeeScheduleInfo。スケジュールにはEmployeeScheduleのリストがあり、EmployeeScheduleにはEmployeeScheduleInfoのリストがあります。

私はeclipselinkjpaを使用しており、NetBeansからエンティティとコントローラーを生成しました。私の問題は、データベースからScheduleオブジェクトをロードすると、すべてのEmployeeScheduleオブジェクトのEmployeeScheduleInfoオブジェクトのリストがロードされないことです。これをデバッグすると、次のように表示されます。

{IndirectList: not instantiated}
4

1 に答える 1

3

1:MとManyToManyの関係は、JPAではデフォルトでレイジーです。つまり、フェッチする関係にアクセスする必要があります。コレクションでsize()を呼び出して、デバッグ環境で表示します。JPQLの「fetchjoin」またはEclipseLinkeclipselink.join-fetchクエリヒントを使用して、最初のクエリでコレクションをプリフェッチすることもできます: http ://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Join_Fetch

于 2012-05-23T13:17:11.483 に答える