你确定都查了一遍?怎么传的参数,是这样查的吗
List list = null;
HibernateTemplate session = getHibernateTemplate();
list = session.find("from User order by userId");

解决方案 »

  1.   

    是没用延迟加载吧。
    但如果是spring中用延迟加载并用getHibernateTemplate()的话会遇到一个问题。由于getHibernateTemplate().find()执行完后,spring会将事物结束,这样就关闭了session,于是再取延迟加载的属性就会报错 。
    解决的方法有3种:
    1采用OpenSessionInView模式将事物提到显示层(详见网上搜索)
    2配置自己的事物管理
    3采用回调用函数,在里面将所有要取的属性取一边或调用hibernateInitialize方法,将延迟加载的属性搜出来。(这样做与不采用延迟加载的区别在于:不采用延迟加载会把表的外键的外键的……都取出来,这样取只取了需要的外键)