Spring的HibernateTemplate的load()方法,將會使用到Session對象的load方法,這將會使用Hibernate3默認的延遲加載功能,但HibernateTemplate執(zhí)行完 load方法后,會直接關(guān)閉session,因此若此時再嘗試去的獲取的對象的屬性,將會發(fā)生LazyInitializationException


    
public User find(final Integer id){
             User user
=(User)hibernateTemplate.execute(new HibernateCallback(){
                   
public Object doInHibernate(Session session) throws HibernateException,SQLException{
                        User user
=(User)session,load(User.class,id);
                        Hibernate.initialize(user);
                        reutrn user;
                   }

             }
)

    }