在传统行业中,hibernate作为常用的传统ORM框架还是有很多的开发者在使用。个人觉得下面几点原因,
- 应对传统的关系型数据库,hibernate在处理数据之间的check约束上还是有他的优势。通过使用传统的el表达式在展现页面的时候发现还是比较方便的。
- hibernate 屏蔽了开发者在Dao层面的大部分问题,能够使开发者更加的去专注于业务的开发和逻辑的实现。这个过程包括自动的物理表之间的关系约束建立,实体的自动映射。
- 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
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-11 05:16:39