在 Hibernate 中使用本机 SQL 查询将结果集获取到 DTO
我有一个如下查询
select f.id, s.name, ss.name
from first f
left join second s on f.id = s.id
left join second ss on f.sId = ss.id
如果我可以使用 HQL,我会使用 HQL 构造函数语法,直接使用结果集填充 DTO。 但是,由于 hibernate 不允许在没有关联的情况下进行左连接,因此我必须使用本机 SQL 查询。
目前,我正在以 JDBC 风格循环访问结果集并填充 DTO 对象。 有没有更简单的方法来实现?
I have a query like below
select f.id, s.name, ss.name
from first f
left join second s on f.id = s.id
left join second ss on f.sId = ss.id
If I could use HQL, I would have used HQL constructor syntax to directly populate DTO with the result set.
But, since hibernate doesn't allow left join without having an association in place I have to use the Native SQL Query.
Currently I am looping through the result set in JDBC style and populating DTO objects.
Is there any simpler way to achieve it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您也许可以使用结果转换器。引用 Hibernate 3.2:HQL 和 Transformers SQL:
参考文献
You could maybe use a result transformer. Quoting Hibernate 3.2: Transformers for HQL and SQL:
References