我需要使用连接执行复杂的查询 - 似乎过于复杂而无法使用QueryBuilder
,因此我将使用SQL。但我知道,此查询的结果将是仅包含单个实体类型的列表。有没有办法将结果映射到ORMLite?通常我自己解析结果,但在这种情况下实体包含很多字段,我真的不想去解析那些来自List<String[]>
......
答案 0 :(得分:0)
肯定有。如果您查看"raw query" section of the documentation,可以看到它讨论了...此查询的结果将是仅包含单个实体类型的列表。有没有办法将结果映射到ORMLite?
RawRowMapper
class的用法。引用文档:
您还可以通过传入
RawRowMapper
对象将结果映射到您自己的对象中。这将使用字符串数组调用映射对象,并允许它将字符串转换为对象。 DAO提供了一个默认RawRowMapper
,可以从知道如何将字符串数组转换为对象的orderDao.getRawRowMapper()
获得。
因此,您可以调用dao.queryRaw(...)
with the RawRowMapper
arg来自字符串数组的映射。还有其他dao.queryRaw(...)
方法,包括: