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 如果需要转载,请注明出处,谢谢!!
责任重于泰山,任重而道远。