Hibernate框架之HQL查询与Criteria 查询的区别

时间:2023-12-30 19:29:14

Hibernate框架提供了HQL查询和Criteria 查询。下面对这两种查询分别做个例子。也好对这两种查询方法有个大概的了解。就用房屋信息表做例子,查询所有房屋信息。

Hibernate框架之HQL查询与Criteria 查询的区别

HQL语句查询所有房屋信息:

/*
* 查询所有房屋
*
* (non-Javadoc)
* @see Dao.HouseDao#selecthouse()
*/
public List<House> selecthouse() {
// TODO Auto-generated method stub
//获取连接
Session session = HibernateUtil.getSession();
//查询房屋实体类
String hql="from House";
Query q=cr=session.createQuery(hql); List list = cr.list(); return list; }

Criteria 语句查询所有房屋信息:

/*
* 查询所有房屋
*
* (non-Javadoc)
* @see Dao.HouseDao#selecthouse()
*/
public List<House> selecthouse() {
// TODO Auto-generated method stub
Session session = HibernateUtil.getSession();
//创建Criteria对象
Criteria cr=session.createCriteria(House.class);
List list = cr.list(); return list; }

通过两者的比较,我们可以看出:

1、HQL语句必须写相应的HQL查询语句,而Criteria 语句直接把实体类对象放入类中,省略了查询语句。

2、HQL查询,必须具备一定的SQL基础。而Criteria查询不需要任何SQL基础。

3、HQL查询比Criteria查询用的范围更广,建议使用HQL查询。但也要对Criteria查询有所了解。

您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态。 

如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦   

如果您对文章内容有任何疑问, 可以通过评论或发邮件的方式联系我: @qq.com

如果需要转载,请注明出处,谢谢!!