[play1-jpa]JPQLの結果をList<Map>で受け取る

  playframework1

サンプルアプリのYABEの models/Tag.java のL27~あたりより抜粋。

public static List<Map> getCloud() {
    List<Map> result = Tag.find(
        "select new map(t.name as tag, count(p.id) as pound) from Post p join p.tags as t group by t.name"
    ).fetch();
    return result;
}

受取専用のbeanクラスを用意する方が、おそらくメモリ消費が少なくて済む。(Mapオブジェクトだと管理部分が必要なので)だが、少量の簡単なデータ取得なんかは、こちらの記述方法の方が向いていると思う。

LEAVE A COMMENT