课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > Hibernate:检索策略三个知识点
  • Hibernate:检索策略三个知识点

    发布:昆明Java培训      来源:达内新闻      时间:2016-10-21

  • 昆明Java培训班的老师今天给大家讲Hibernate的检索策略三个知识点。

    一、Hibernate的检索策略本质上是为了优化Hibernate性能。

    二、Hibernate检索策略包括类级别的检索策略、和关联级别的检索策略(<set>元素)

    三、类级别的检索策略

    1.立即检索、延迟检索

    2.通过<class>节点的lazy属性来控制。默认为true,即为延迟检索。

    3.只针对session的load()方法生效。

    默认情况下,通过load()方法获取到的对象是一个代理对象,Hibernate创建代理对象时,仅会初始化OID。

    在第一次访问非OID属性时,Hibernate会初始化代理类实例。

    4.测试

    (1)<class>的lazy属性为true

    @Test

    public void testStrategyClassLevel() {

    Customer customer = (Customer) session.load(Customer.class, 5);

    System.out.println(customer.getClass());

    System.out.println(customer.getCustomerId());

    System.out.println("--------------");

    System.out.println(customer.getCustomerName());

    }

    class com.nucsoft.strategy.many2one.Customer_$$_javassist_0

    5

    --------------

    Hibernate:

    select

    customer0_.customer_id as customer1_2_0_,

    customer0_.customer_name as customer2_2_0_

    from

    hibernate.customer customer0_

    where

    customer0_.customer_id=?

    bb

    (2)<class>的lazy属性为false

    @Test

    public void testStrategyClassLevel() {

    session.load(Customer.class, 5);

    }

    Hibernate:

    select

    customer0_.customer_id as customer1_2_0_,

    customer0_.customer_name as customer2_2_0_

    from

    hibernate.customer customer0_

    where

    customer0_.customer_id=?

    昆明Java培训班的老师下一期还会继续给大家讲Hibernate的检索策略的知识点。

    推荐文章

上一篇:Java培训:CGLIB代理

下一篇:Hibernate:关联级别的检索策略

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56