应该支持吧 你尝试一下在你程序的实体对应的hbn.xml配置文件中
<hibernate-mapping> 
<class name=”com.XXX.entity.User” table=”user” lazy=”true”> 
   …… 
</class> 
加上lazy这个属性;

解决方案 »

  1.   

    你可以用spring来管理事务的,spring提供了TransactionProxyFactoryBean和HibernateTransactionManager
    他们可以帮助你自动管理事务;也就是说session不是显示的在你写的代码中关的;
      

  2.   

    喜欢J2EE的朋友欢迎加入QQ群36643256,学习、交流,共同探讨技术与工作、共享信息、结交朋友
      

  3.   

    HibernateTemplate 支不支持Hibernate 的延时加载 
    是支持延迟加载的,但HibernateTemplate会在事务结束后关闭session。
    public List selectA(){ 
      return this.getHibernateTemplate().find(hql); 
    } public List selectB(){ 
      return (List) this.getHibernateTemplate().execute(new HibernateCallback(){ 
    public Object doInHibernate(Session session) 
    throws HibernateException, SQLException { 
    return session.createQuery(hql).list(); 

    }); 

    应该是没什么区别,回调主要是为了弥补HibernateTemplate封装后的不灵活。
      

  4.   

    正如楼上所说,是支持延迟加载的,但HibernateTemplate会在事务结束后关闭session
    session关闭之后,延迟加载就会报错了,延迟加载的代码必须在同一个session里
      

  5.   

    session必须关闭,而HibernateTemplate自动关闭的。
      

  6.   

    两种实现方式其实没有区别,尤其是第二种不要自己去关闭session,session在事务结束后都会自动关闭。
    但是一定要注意延迟加载的问题,当对象在session关闭前没有从数据库中取得,而jsp中需要展示对象时,会提示LazyInitializationException,你可以通过OpenSessionInViewFilter来保证延迟加载不会出现错误。