hibernate hql 的增,删,改,查

hibernate 执行hql语句的增删改查的语句如何去定义符合规范,能够正确的被执行。

先说hql语句的特点,hql语句是针对的 实体类和属性,而不是数据库中的表的字段,所以在hql语句中 不能以一个表来考虑,而是整个要以实体类来考虑。

hql语句并不支持 insert ... values...这种方式 对于hibernate来说 hql添加语句只支持 insert....select ...语句。

update|delete from EntityBean where condition 有些需要注意的地方
EntityBean 一定要是实体类的名称 包括大小写一定也要一样,如果你想使用这个实体类的属性 可以有两种方式 一:直接使用 属性 比如 update loginName from User where userId=1 二:用 别名.属性 比如 update u.loginName from User u where u.userId=1 hql中需要谨记的是 .之前的一定要是别名。

其实hibernate最强大的功能还是在于查询,这也是它这么畅销的原因。hibernate提供了强大的查询功能
常见的就是 select 别名.属性名... from 实体类名 别名 where 条件 使用query.list()的查询时 这些查出来的列会自动放在 object队列中。

select 别名 from 实体类 别名 where 条件 执行查询后 自动封装成 实体类类型 这样我们可以强制转换成 实体类的对象。

select 别名1,别名2...from 实体类1 别名1,实体类2 别名2... where 条件 执行查询后 他会将 查询结果放在object队列中。

select new 实体类(属性1,属性2...) from 实体类 where 条件 这里的 实体类(属性1,属性2...)可以看成是实体类中的构造函数,实体类必须提供同参的构造函数才能够这样使用。 查询结果肯定是 实体类,强制转换一下就能够直接使用。

同样 还有 select new list(别名1.属性,别名2.属性....) from ..... 返回ArrayList

select new map().......

等等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值