使用Ebean(通过Play Framework 2.1.1),我必须建立一个自制的SQL查询,但我希望它直接返回List<MyModel>
,而不是List<SqlRow>
,我必须为每个ID查询数据库从结果有一个List<MyModel>
。是否有可能将Ebean的SqlQuery结果强制转换为模型(Bean)?
是否可以直接将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()) – TizianoPiccardi 2013-05-06 10:16:44
我需要编写它。 – 2013-05-06 11:42:56