Hibernate Spring注释会话未关闭刷新

Hibernate Spring注释会话未关闭刷新,第1张

Hibernate Spring注释会话未关闭/刷新

我的一位聪明的同事发现了问题所在。

实际的问题是,您声明为@Transactional的方法是从基类调用继承方法,这意味着Spring无法截获对该方法的调用并将其包装在事务中。

Spring将事务管理作为方面来实现,而方面则通过代理来实现。这样做的局限性在于,如果一个对象本身调用了一个方法(由于继承而在这里发生了这种情况),则代理看不到该调用(因为它发生在类内部,就像调用私有方法一样),并且对此无能为力。

这是有道理的,但似乎非常危险,因为它无法在没有任何错误消息或警告的情况下写入任何数据。



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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存