Car*_*rto 88 java spring jpa spring-data spring-boot
我在Spring Boot文档中看到了JPA配置的这个属性spring.jpa.open-in-view=true.那么它被设置为true,它是默认值吗?
它到底意味着什么?我没有找到任何解释这种行为.
它应该是使用Hibernate SessionFactory来代替EntityManagerFactory?如果是,我该如何设置EntityManagerFactory?
感谢任何帮助.
谢谢!
Vla*_*cea 224
不幸的是,在Spring Boot中默认启用了OSIV(Open Session in View),从性能和可伸缩性的角度来看,OSIV确实是个坏主意.
因此,请确保在OpenSessionInViewFilter配置文件中包含以下条目:
spring.jpa.open-in-view=false
Run Code Online (Sandbox Code Playgroud)
这将禁用OSIV,以便您可以正确的方式处理openSession.
从版本2.0开始,Spring Boot会在默认情况下启用OSIV时发出警告,因此您可以在影响生产系统之前很久就发现此问题.
dun*_*nni 36
此属性将注册一个OpenEntityManagerInViewInterceptor,它将一个注册EntityManager到当前线程,因此EntityManager在Web请求完成之前您将具有相同的权限.它与Hibernate SessionFactory等无关.
| 归档时间: |
|
| 查看次数: |
60265 次 |
| 最近记录: |