发布网友 发布时间:2022-04-19 09:47
共2个回答
热心网友 时间:2022-04-10 02:00
HQL 通过Hibernate提供的查询语言进行查询。Hibernate Query lanagueEJBQL(JPQL 1.0) 是EJB提供的查询语言QBC(query by cretira)通过Cretira接口进行查询QBE(query by Example) 通过Example编程接口进行查询从功能强弱上排序:NativeSQL > HQL > EJBQL(JPQL 1.0) >QBC(query by cretira) >QBE(query by Example) 1: QBE (Query By Example) QBC查询方式QBC(Query By Criteria)查询方式是 Hibernate 提供的“ 更加面向对象”的一种检索方式。 QBC 在条件查询上比 HQL 查询更为灵活,而且支持运行时动态天生查询语句。在Hibernate 应用中使用 QBC 查询通常经过 3 个步骤(1)使用 Session 实例的 createCriteria() 方法创建 Criteria 对象(2)使用工具类 Restrictions 的相关方法为 Criteria 对象设置查询对象(3)使用 Criteria 对象的 list() 方法执行查询,返回查询结果QBE查询QBE查询就是检索与指定样本对象具有相同属性值的对象。因此QBE 查询的关键就是样本对象的创建,样本对象中的所有非空属性均将作为查询条件。 QBE 查询的功能子集,固然 QBE 没有 QBC 功能大,但是有些场合 QBE 使用起来更为方便。 工具类Example 为 Criteria 对象指定样本对象作为查询条件Java代码1 Session session = HibernateSessionFactory.getSessionFactory().openSe ssion();2 Transaction ts = session.beginTransaction();3 Customer c = new Customer();4 c.setCname("Hibernate");5 Criteria criteria = session.createCriteria(Customer. class );6 Criteria.add(Example.create(c));7 Iterator it = criteria.list().iterator();8 ts.commit();9 HibernateSessionFactory.closeSession();热心网友 时间:2022-04-10 03:18
HIbernate主要常用有三种查询方式HQL、QBC、SQL:
1).HQL(Hibernate Query Language):hibernate数据查询语言;
2).QBC(Query By Criteria):规则查询
3).SQL:原生的SQL语句(较为复杂的情况下使用)
想要详细了解的可以看一下下面的几篇文章:
QBC数据查询
HQL单表查询
HQL多表查询
希望对你有所帮助~