文章目录

1. hibernate之延迟加载1.1. 什么是延迟加载1.2. 好处1.3. 如何使用延迟加载1.4. 使用延迟加载需要注意的问题hibernate之延迟加载什么是延迟加载在使用某些Hibernate方法查询数据的时候,Hibernate返回的只是一个空对象(除了id外属性都为null),并没有真正的查询数据库。而是在使用这个对象的时候才会出发查询数据,并将查询到的数据注入到这个空对象中,这种查询时机推迟到对象访问时的机制称之为延迟加载。简单的说,使用延迟加载获取的对象,只有在获取其中的除了id之外的属性才会发出sql语句。好处可以提升内存资源的使用率

可以降低对数据库的访问次数

如何使用延迟加载session.load()query.iterate()代码语言:javascript复制@Test

public void Testload() {

Session session = null;

Transaction transaction = null;

try {

// 创建session

session = HibernateUntil.getSession();

// 开始事务

transaction = session.beginTransaction();

//使用延迟加载load()方法获取对象,这里并没有发出sql查询语句,其中除了一个id属性之外没有其他的属性

Student student=session.load(Student.class,2);

//查询其中的id属性,这里也没有发出查询语句

System.out.println(student.getId());

//查询对象中的name属性,这里将会发出查询的sql语句

System.out.println(student.getName());

// 提交事务

transaction.commit();

} catch (Exception exception) {

transaction.rollback(); // 事务回滚

} finally {

if (session!=null) {

session.close();

}

}

}使用延迟加载需要注意的问题采用延迟加载机制的操作,需要避免session的提前关闭。避免在使用对象之前关闭session

因为在使用延迟加载的时候并没有发出sql查询语句,只有当使用其中的除了id属性之外的属性才会发出查询语句,因此这里的session不能提前关闭

Copyright © 2088 世界杯直播cctv5_世界杯阿根 - sunjianping.com All Rights Reserved.
友情链接
top