JAVA Spring与事务, 三种时态(游离托管持久), 懒加载的关系?

Python09

JAVA Spring与事务, 三种时态(游离托管持久), 懒加载的关系?,第1张

游离不用说,你自己新建对象就是游离态

持久态,如果你的事务是放在Service层,那么在Service层及以下的方法里,从Session中获取的对象,或者save

persis

update等的对象就是持久态。

托管态,如果你的Service层方法返回一个PO对象,这个对象返回之后肯定是托管态。

如果你的Service层方法接受一个游离态PO对象,然后被save了,Servcie层方法返回后,这个游离态PO对象,肯定也是托管态。

懒加载异常:

如果你在Action层或者View层对托管态对象调用get方法试图获取懒加载的数据,肯定报异常。

原因是事务边界就在Service层方法处结束,Session也会在Service方法退出后关闭。

而如果使用OpenSessionInViewFilter,则Session的关闭时机会延迟到View层,其实就是JSP代码运行完毕之后才关闭。这样的话就不会报懒加载异常了。

A、去下个XX.dll,下好后打开系统盘,找到windows文件夹,打开后找到system32打开,把XX.dlll放进去。这个DLL上百度一下就有得下的了。

B、打开腾讯电脑管家的电脑诊所之后,搜缺失的dll文件,会自动出来,点立即修复。重启电脑后就可以了。