S2JDBCで取得する列を限定する!

S2JDBCの流れるインターフェースで検索すると、すべてのカラムが取得されます。嫌ならsqlファイルに書けばいいじゃん。って話ですが、せっかくのタイプセーフな検索が意味なし!
悩んだ末、lazyを使えばいいのかとたどりつきました。

エンティティのプロパティにアノテーションつける



@Basic(fetch = FetchType.LAZY)
public String hoge;


eagerで取得する列を選択する



jdbcManager.from(HogeEntity.class).eager("hoge").getResultList();



これでHogeEntityのhoge列のみ取得します。
(※実際にはeagerの引数にはタイプセーフな列名を指定します)
注意点として、FKにはLazyは設定できません。(当り前か)

0 コメント: