hibernate常用的hql语句

在说hql语句之前,先来简单地说一下在hibernate里面悲观锁和乐观锁吧

悲观锁得有数据库的支持,Oracle数据库用的是悲观锁而乐观锁是用程序来实现的,他与数据库无关,那么如何实现乐观锁那,简单写一下

1。在实体配置文件上的<class>标签上陪optimistic-lock="version"

2。在实体类内定义变量version,并给他附上get和set方法

3。在<class>标签里配置<version name="version">

 

用锁的机制主要就是解决并发操作

 

下面说一下常用到的查询语句

1。简单属性查询

例如:select u.name from user u    返回属性类型

select u.name,u.age from user u   返回数据

2。实体对象查询

例如

from user

= select u from user as u;

3.条件查询

from user u where u.name=?;

4.对象导航查询

from user u where u.id=? and u.deparment.createtime=?;

其中department是部门对象

5。参数命名化

from user u where u.id=:uid and u.department.createtime=:ctime;

6.集合查询

from user u where u.id  in(?,?,?);

或者

from user u where u.id in (:uids);

q.setParameterlist("uids",数组);

在或者

from user u where uid between :begin_id and end_id;

q.setparameter("beginid",1);

q.setparameter("endid",10);

7.模糊查询

from user u where u.username like :name;

q.setparameter("name","小%");

8.原生SQL

query  sqlquery = session.createSQLQuery("select * from user ");

List list = sqlQuery.list();

10.过滤器查询

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值