在hibernate中,如何把原生sql查询出来的结果映射到实体bean

本文探讨了在Hibernate框架下,如何将原生SQL查询结果有效地映射到对应的实体bean。作者指出,虽然Hibernate的HQL查询在某些复杂场景下不够灵活,但在实际工作中,使用原生SQL进行查询的情况较为常见。通过`createSQLQuery.addEntity()`方法,可以实现原生SQL查询结果与实体bean的映射。此外,还简单比较了`createQuery`和`createSQLQuery`的区别,前者使用HQL,后者则支持直接的SQL查询。最后,作者分享了一段使用Hibernate 3.6.4进行映射操作的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家都知道hibernate是一个开放源代码的对象关系映射框架它对JDBC进行了非常轻量级的对象封装。


个人觉得,hibernate自带的hql语句却不见得很好用。


现实工作中,有很多场景是用到原生sql进行查询的,比如oracle的递归、复杂语句查询等。或许hql也能进行递归、复杂语句的查询,但像我这种用惯ibatis的,很是不爽hql。


简单举个例子说一下,hql与sql的区别.

hql :  select u from SysUser u where u.userName = '' order by u.id   

sql :  select *  from sys_user u where u.user_name = '' order by u.id    其中SysUser 为类名,对应表名为 sys_user; userName 为类的属性名,对应表的字段名user_name


Hibernate中有没有用用原生sql查询并把结果集映射到实体bean呢?


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值