关于hibernate中的load,get,以及延迟加载问题 今天在使用hibernate时,发现一异常: could not initialize proxy - no Session 查询资料之后发现,这是一个lazy使用后的Exception,使用迟时加载,在session关闭后使用该对象的未加载变量,也就是说session已经关闭,对象或其属性没有保存到内存中,然后你使用了,导致该异常. 检查代码之后,发现此异常是由于Dao中获取评论使用load方法根据id加载对象导致的: public
$.ajaxSetup({ xhr: function () { if ("ActiveXObject" in window) { return new ActiveXObject("Microsoft.XMLHTTP"); } else { return new XMLHttpRequest(); } } });
hibernateTemplate的load方法采用延迟加载,所以应当注意. 如果配置不当,采用此方法获取对象,往往会出现异常: javax.servlet.ServletException: org.hibernate.LazyInitializationException: could not initialize proxy - no Session 出现此异常一般是因为session已关闭,无法获取对象. 测试代码: 以下是部门的实现类DeptDaoImpl的一个方法——通过部门id获取