当发生LazyInitializationException时,需要使用Hibernate.initlize,但在spring的 HibernateDAOSupport中取出的对象,进行Hibernate.initlize时会被告知,session已经关闭。只能在 Spring封装的Hibernate操作内部进行。
java 代码
java 代码
- return (MyEntity)getHibernateTemplate().execute(
- new HibernateCallback(){
- Object doInHibernate(Session session){
- MyEntity entiy = (MyEntity)session.load(MyEntity.class,id);
- Hibernate.initlize(entity.getMySub());
- return entity;
- }
- }
- );