此处应该有控制台日志,如下:
org.hibernate.LazyInitializationException:could not initialize proxy - no Session!!!
就这么多吧,你还想要多少,能定位到你的问题就行了,接着往下看!
如何解决?枪在手,跟我走!!
检查代码中是否使用了 load(id) 方法。形如:
userDao.load(userId)
看看下面的解释:
session.load()
by default returns a proxy object without hitting a database. It basically returns NoObjectFoundError
if there aren't any records on the table or else it will return a reference without populating the actual object or even hitting the database
说的很清楚,session.load() 默认返回一个代理对象而不访问数据库。如果表上没有任何记录,它基本上会返回 NoObjectFoundError 否则它将返回一个引用而不填充实际对象甚至不访问数据库
吧啦吧啦......
代码中找到 load(id) 方法的使用痕迹了么?
不用看了,你肯定在相关逻辑处使用了,形如:
userDao.load(userId)
替换为:
userDao.get(userId)
再启动运行一下试试,
哇啦啦,org.hibernate.LazyInitializationException:could not initialize proxy - no Session!!!
问题解决了
头瞬间不大了吧!!
此处应该有掌声!
xkz0_0