HibernateのsetFetchModeではまってました。

HibernateのCriteria#setFetchModeを使うところではまってました。。。


Department : Employee = 1:n の関係のサンプルを作っていて、
マッピングファイルで次のように書いていたのを







次のように書き換えたら1回のSELECTで取得できるようになりました。






setのnameの部分が1:nのn側の名前?だと動くみたいです。
"employeeList"としてもFetchMode.EAGERの機能が動かないだけで、n+1回のSELECTを実行して取得してきていたので、気づかなかったです。。。


・EAGARフェッチが意図した動作をしなかったマッピングファイル

















・EAGARフェッチが意図した動作をしたマッピングファイル
















よく考えたら、原因間違っていました。。。
次の3つをあわせたら、動きました。
1、Department クラスにある Set 型のプロパティ名
2、マッピングファイルのSet型のname
3、Criteria#setFetchMode(String associationPath, FetchMode mode) のassociationPath
3つ目を合わせるのを忘れてました。
寝ぼけてました、すみません。あーあー、だめだめだぁ。。。