有样本方法:
private static List<Foo> getFoos() {
Query<Foo> query = Ebean.find(Foo.class);
query.setRawSql(
RawSqlBuilder
.parse("SELECT * FROM foo")
.create()
);
return query.findList();
}
不幸的是它引发了异常:
[PersistenceException:在models.Foo上找不到Property [*]
当然,如果我在SQL中指定字段,那么它很好用:
.parse("SELECT foo, bar, baz FROM foo")
无论如何我不想手动操作,因为后来Ebean执行其他查询以获取不在列表中的属性,在这种情况下如何使用*
通配符来表示模型的字段名称?
答案 0 :(得分:1)
您可以尝试使用unparsed
代替
RawSqlBuilder
.unparsed("SELECT * FROM SomeTable")
.columnMapping("id", "id")
.create();
请注意,您需要指定至少一个列映射,否则Ebean会抱怨此类
Query threw SQLException: Column Index out of range, 0 < 1