Hibernate的五种检索方式

Hibernate的五种检索方式分别是:

导航对象图检索方式。(根据已经加载的对象,导航到其他对象。)
OID检索方式。(按照对象的OID来检索对象。)
HQL检索方式。(使用面向对象的HQL查询语言。)
QBC检索方式。(使用QBC(Qurey By Criteria) API来检索对象。)
.本地SQL检索方式。(使用本地数据库的SQL查询语句。)
1、导航对象图检索方式

   利用类与类之间的关系来检索对象。譬如我们要查找一份订单,就可以由订单对象自动导航找到订单所属的客户对象。当然,前提是必须在对象-关系映射文件上配置了它们的多对一的关系。

   Order  order = (Order )session.get(Order.class,1);
   Customer customer = order.getCustomer();

2、OID检索方式

   主要指用Session的get()和load()方法加载某条记录对应的对象。
   Customer  customer = (Customer )session.get(Customer.class,1);
   Customer  customer = (Customer )session.load(Customer.class,1);

3、HQL检索方式

   HQL(Hibernate Query Language)是面向对象的查询语言,它和SQL查询语言有些相似。在Hibernate提供的各种检索方式中,HQL是使用最广的一种检索方式。它具有以下功能:

    在查询语句中设定各种查询条件。
    支持投影查询,即仅检索出对象的部分属性。
    支持分页查询。
    支持分组查询,允许使用group by和having关键字。
    提供内置聚集函数,如sum()、min()和max()。
    能够调用用户定义的SQL函数。
    支持子查询,即嵌套查询。
    支持动态绑定参数。

session类的Qurey接口支持HQL检索方式,它提供了以上列出的各种查询功能。

4、QBC(Qurey By Criteria)检索方式

5、本地SQL检索方式

  采用HQL或QBC检索方式时,Hibernate生成标准的SQL查询语句,使用于所有的数据库平台,因此这两种检索方式都是跨平台的。有的应用程序可能需要根据底层数据库的SQL方言,来生成一些特殊的查询语句。在这种情况下,可以利用Hibernate提供的SQL检索方式。

猜你喜欢

转载自blog.csdn.net/qq_40714770/article/details/82116027