(Play Framework 2.1.1 経由で) Ebean を使用して、自家製の SQL クエリを作成する必要がありますが、結果から各 ID についてデータベースにクエリを実行する必要があるList<MyModel>
ではなく、 を直接返すようにしたいと考えています。List<SqlRow>
を持っていList<MyModel>
ます。
SqlQuery/SqlRow を Model に直接キャストすることは可能ですか?
実際、私はそれをします:
SqlQuery query = Ebean.createSqlQuery("SELECT id FROM MyModel WHERE ...");
List<SqlRow> rows = query.findList(); // not directly possible.
List<MyModel> results = new ArrayList<MyModel>();
for (SqlRow row : rows) {
results.add(MyModel.find.idEq(row.getLong("id)));
}
理想的には、次のようになります。
SqlQuery query = Ebean.createSqlQuery("SELECT id FROM MyModel WHERE ...");
List<MyModel> results = (List<MyModel>) query.findList(); // not directly possible.
これはあまり効率的ではありません。