概述
Hibernate 的 Open Session in View (OSIV) 策略附带有几个缺点,特别是在多 JVM 环境中以及需要立即提交事务时。尽管它在单 JVM 应用程序中提供了便利,但专家建议不要使用它。
OSIV 的问题
OSIV 的主要问题源于其非正统的数据检索方法。它在 UI 渲染期间保持持久性上下文打开,从而允许根据需要初始化惰性关联。这会带来多个缺点:
避免 LazyLoadExceptions
除了依赖 OSIV,还可以采用替代策略来防止 LazyLoadExceptions:
在 Spring Boot 中禁用 OSIV
在 Spring Boot 中,OSIV默认启用。要禁用它,请将以下行添加到 application.properties 文件中:
spring.jpa.open-in-view=false
这将禁用 OSIV,允许开发人员以更合适的方式处理 LazyLoadExceptions。
以上是我应该在视图策略中使用 Hibernate 的 Open Session 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!