如果一个类设置为lazy=true。那么可能需要显式地实始化它。
org.hibernate.Hibernate类的initialize()静态方法用于在Session范围内显式初始化代理类实例,isInitialized()方法用于判断代理类实例是否已经被初始化.
Transaction tx = session.beginTransaction();
Customer customer = (Customer)session.load(Customer.class, 1L);
if (!Hibernate.isInitialized(customer)) {
Hibernate.initialize(customer);
}
tx.commit();
session.close();
customer.getName();
很少用延迟加载。
org.hibernate.Hibernate类的initialize()静态方法用于在Session范围内显式初始化代理类实例,isInitialized()方法用于判断代理类实例是否已经被初始化.
Transaction tx = session.beginTransaction();
Customer customer = (Customer)session.load(Customer.class, 1L);
if (!Hibernate.isInitialized(customer)) {
Hibernate.initialize(customer);
}
tx.commit();
session.close();
customer.getName();
很少用延迟加载。
本文详细介绍了在Java应用中利用Hibernate框架的initialize()静态方法显式初始化代理类实例,并通过isInitialized()方法判断实例是否已初始化。重点阐述了如何在特定情况下避免使用延迟加载以提升性能和代码可读性。
1078

被折叠的 条评论
为什么被折叠?



