EntityManager再整理
http://d.hatena.ne.jp/nattou_curry_2/20080928/1222604339を踏まえて再整理。
行エンティティを取得する目的としては、以下のどれでもよさそうですが、細かな挙動が異なるようです。
- EntityManager.get()
- 行エンティティを生成&キャッシュ管理する。
- EntityManager.find()
- クエリで行を選択する。
- EntityManager.get()にて、選択行の行エンティティを取得する。
- 選択行のデータ(カラム)をキャッシュに追加する。
- EntityManager.findWithSQL
- SQLで行を選択する。
- EntityManager.get()で、選択行の行エンティティを取得する。
そして、Entityに対するgetXXX()においては、EntityManager.find()でキャッシュされた内容が使用されるようです。