Hibernate中的LazyInitializationException:无法初始化代理-没有会话

Hibernate中的LazyInitializationException:无法初始化代理-没有会话,第1张

Hibernate中的LazyInitializationException:无法初始化代理-没有会话

这是一个很好的参考,可让您熟悉.get()和.load()方法的工作方式。

@Overridepublic Product getProductById(int id) {    Product p = sessionFactory.getCurrentSession().load(Product.class, id);    return p;}

session.load()
缺省情况下,返回代理对象而不访问数据库。基本上,
NoObjectFoundError
如果表上没有任何记录,它将返回,否则它将返回一个引用,而不填充实际对象,甚至不会访问数据库。您上面的方法返回一个代理,并且由于它还必须初始化您的对象,因此会话保持打开状态并填充了对象。

@Overridepublic Product getProductById(int id) {    return sessionFactory.getCurrentSession().load(Product.class, id);}

但是在第二种方法中,基本上无需任何初始化即可返回代理。此后会话将关闭,无需任何事先使用。这样就得到了错误。

希望能有所帮助



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5000975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存