【发布时间】:2013-05-06 09:40:25
【问题描述】:
使用 Ebean(通过 Play Framework 2.1.1),我必须构建一个自制的 SQL 查询,但我希望它直接返回 List<MyModel>,而不是我必须查询的 List<SqlRow>结果中每个 id 的数据库都有一个List<MyModel>。
是否可以将 SqlQuery/SqlRow 直接转换为模型?
其实我就是这么做的:
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.
这不是很有效。
【问题讨论】:
-
您需要纯 SQL 还是可以使用查找器方法编写查询? ( Model.find.where().eq(...).orderBy(...).findList() )
-
我需要作曲。
标签: sql playframework-2.1 ebean