hibernate 休眠.启用_懒惰_加载_没有_transs是不工作

mitkmikd  于 2023-10-23  发布在  其他
关注(0)|答案(3)|浏览(153)

我使用的是JPA2.1和hibernate4.3.8,我已经配置了presidence.xml以允许延迟加载
我已经添加

<property name="hibernate.enable_lazy_load_no_trans" value="true" />

进入属性部分
但是我仍然得到LazyInitializtionException,这是什么问题?

swvgeqrz

swvgeqrz1#

hibernate.enable_lazy_load_no_trans是一个反模式你永远不应该使用它,因为在初始持久性上下文之外获取的每个惰性关联都需要一个数据库连接,这将给底层事务日志和JDBC连接池带来压力。
此外,hibernate.enable_lazy_load_no_trans容易出现N+1查询问题。
有时,您甚至不需要实体,DTO投影甚至更好。

bnlyeluc

bnlyeluc2#

试着像这样输入“true”:
<property name="hibernate.enable_lazy_load_no_trans">true</property>
对我很有效。

olqngx59

olqngx593#

org.hibernate.LazyInitializationException
如果你正在使用getReferenceById(id)方法,请在application.properties中使用此方法

spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true

相关问题