假设我有一个Article
由 Java Ebean 自动映射为数据库表的类。
对于这个表,我想通过RawSql
查询来检索条目,因为我发现 SQL 在处理具有许多连接等的复杂查询时更简单。到目前为止,我已经设法将我的 SQL 语句提供给 Parser。查询是正确的,我已经检查过了。
唯一的问题是,我不知道如何将数据库结果映射到我的Article
班级。我知道,有一种columnMapping(...)
方法,但老实说,我懒得手动映射每一列......
难道没有另一种方法可以像myResults.mapToClass(Article.class)
检索 a 这样的东西List<Article>
吗?
这是我已经拥有的代码:
Finder<String, Article> find = new Finder<String, Article>(
String.class, Article.class);
String sql = "SELECT * FROM article [...]";
RawSql rawSql = RawSqlBuilder.parse(sql).create();
List<Article> returnList = find.setRawSql(rawSql).findList();
或者:
Finder<String, Article> find = new Finder<String, Article>(
String.class, Article.class);
String sql = "SELECT id, title, sub_title FROM article [...]";
RawSql rawSql = RawSqlBuilder.parse(sql)
.columnMapping("id", "id")
.columnMapping("title", "title")
.columnMapping("sub_title", "subTitle")
.create();
List<Article> resultList = find.setRawSql(rawSql).findList();