冬眠.延迟加载.最佳实践.怎么了?



我正在Spring和Hibernate上编写一个测试服务器。

在代码执行期间,我收到了一个 LazyInitializationException。

我发现了两个糟糕的解决方案:在视图中打开会话和 hibernate.enable_lazy_load_no_trans。我没有使用它们。

我找到了一个有效的解决方案,但正如其他人所写的那样,它也不是很好。在实体上方,我放了一个注释@Proxy(lazy = false(。

请告诉我,在项目中有什么更好的改变,一切都会正常工作?

链接到 GitHub 中的项目。

该项目非常小,仅包含八个小.java和两个 .properties 文件。

提前感谢您的帮助!

这里的问题是您尝试在休眠事务之外延迟加载某些实体。在我看来,执行在一个事务中实际使用实体的代码的最佳方法。您需要配置事务管理器(如果尚未配置(并将@Transactional(从休眠包(放在方法上。

最新更新