你的位置:首页 > Java教程

[Java教程]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查询有所了解。

您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态。 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦  如果您对文章内容有任何疑问, 可以通过评论或发邮件的方式联系我: 2276292708@qq.com如果需要转载,请注明出处,谢谢!!