首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate惯用的hql语句

2012-10-09 
hibernate常用的hql语句在说hql语句之前,先来简单地说一下在hibernate里面悲观锁和乐观锁吧悲观锁得有数据

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.过滤器查询

?

热点排行