标签:
在传统行业中,hibernate作为常用的传统ORM框架还是有很多的开发者在使用。个人觉得下面几点原因,
主要是通过在项目中的使用,简单的总结下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
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/cfl20121314/article/details/48064313