Hibernate如何解决懒加载

1.明确初始化

在session还没有关闭时访问一次getSet()方法,强制访问数据库或者Hibernate.initialize(XX)

2.openSessionInView  这个需要过滤器配合使用,也就是扩大session的范围

Filter

Session session = null;
Transaction tx = null;

try {
session = HibernateUtil.getCurrentSession();
tx = session.beginTransaction();

chain.doFilter(servletRequest, servletResponse);

tx.commit();
} catch (Exception e) {
if (tx != null){
tx.rollback();
}
e.printStackTrace();
throw new RuntimeException(e);
} finally{
HibernateUtil.closeCurrentSession();
}

3.对象关系映射文件中配置:lazy="false"  <class ... lazy="false"></class>

4.ssh中,可以在Service层,标注方式解决懒加载

你可能感兴趣的:(Hibernate如何解决懒加载)