Hibernate的检索方式

来源:互联网 发布:java log4j jar下载 编辑:程序博客网 时间:2024/06/01 09:03

1、导航对象图像检索方式

利用类与类之间的关系来检索对象

2、OID检索方式

用session的get()和load()方法加载某条记录对应的对象

3、QBC检索方式

query by criteria,由criteria接口,criterion接口,提供查询方法
1>组合查询
//创建criteria对象
Criteria criteria = session.creatCriteria(实体类.class);
//创建criterion对象设定查询条件
Criterion criterion = Restrictions.eq("id", 1);
//添加查询条件
criteria.add(criterion);

2>分页查询
//创建criteria对象
Criteria criteria = session.creatCriteria(实体类.class);
criteria.setFirstResult(0);设置从第一个对象开始查询
criteria.setMaxResult(3);设置每页最大数据条数

4、本地sql检索方式

SQLQuery sqlQuery = session.creatSQLQuery("select * from t_user);

5、hql检索

Hibernate Query Language面对对象查询语言。sql操作数据库表和其字段,hql操作实体类和属性
   *hql 也支持别名,
1>投影查询,查询对象部分属性
sql:select tname from table;
hql:select name from 实体类名;
2>条件查询
模糊查询sql:select * from table where tname like “%...%”
      hql:from 实体类名 where name like ?;   
执行查询:query.setString(0, "%aa%"); 0表示第几个问号,查询名字中有aa的所有人
3>排序查询
sql:select * from table order by tid asc/desc
hql:from 实体类名 order by id asc/desc     desc降序,   不写默认为升序;
4>多表查询
内连接查询:查出两个关联的表的信息select * from a inter join b on a.id=b.id;
左外连接:select * from a left join b on a.id=b.id;
右外链接:select * from a right join b on a.id=b.id;