码迷,mamicode.com
首页 > Web开发 > 详细

hibernate 常用几种查询

时间:2015-08-28 23:20:18      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

在传统行业中,hibernate作为常用的传统ORM框架还是有很多的开发者在使用。个人觉得下面几点原因,

  1. 应对传统的关系型数据库,hibernate在处理数据之间的check约束上还是有他的优势。通过使用传统的el表达式在展现页面的时候发现还是比较方便的。
  2. hibernate 屏蔽了开发者在Dao层面的大部分问题,能够使开发者更加的去专注于业务的开发和逻辑的实现。这个过程包括自动的物理表之间的关系约束建立,实体的自动映射。
  3. hibernate 能够配置固定的数据库连接,使得程序在使用过程中提高一定的效率。

主要是通过在项目中的使用,简单的总结下hibernate的使用。

一.criteria对象的使用

Criteria criteria = dao.getSession().createCriteria(entity.getClass());

常用的有

like

%:和sql匹配占位符一致。

criteria.add(Restrictions.like(name,"%" +value+"%"));

in

in:与sql中in的作用是一致的。

criteria.add(Restrictions.in("roleid",roleid));

eq

eq:可以发现在el表达式中作用都是一致。

criteria.add(Restrictions.eq(name,value));

order

order排序字段,orderBy为实体的property

crit.addOrder(Order.asc(orderBy));

示例:

   Criteria critera = dao.getSession().createCriteria(UserInfo.class);
    critera.add(Restrictions.eq("useFlag", 1));
    critera.add(Restrictions.eq("account", account));
    critera.list();`

二.hql查询

应该是hibernate中较为常用的方式了,类似于sql,对于开发者来说掌握起来也较为容易,学习成本较低。

常用子句

From子句

From orders

orders:类名 常用的话,一般会在orders 加上一个别名。

From orders as ods

连接子句

连接子句,类似于sql中的左连接和右连接、内连接

From userinfo uif left join peoinfo pif on uif.peoinfoid=pif.id

select子句

select uif.name,uif.id from userinfo as uif

where子句

select uif.id ,uif.name from userinfo as uif where uif in (1,2)

分享地址:http://takeme.iteye.com/blog/1722522

三.sql查询

返回list集合

`List<Object[]> PartTimeJobInfoList = dao.getSession()
            .createSQLQuery(sql).setParameterList("ids", userId).list();`

返回唯一结果集

List

版权声明:本文为博主原创文章,未经博主允许不得转载。

hibernate 常用几种查询

标签:

原文地址:http://blog.csdn.net/cfl20121314/article/details/48064313

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!