hibernate.enable_lazy_load_no_trans 不工作

标签 hibernate lazy-initialization

我正在使用 JPA2.1 和 hibernate 4.3.8,并且我已将 presistence.xml 配置为允许延迟加载

我已经添加了

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

进入属性部分

但我仍然收到 LazyInitializtionException,这是什么问题?

最佳答案

hibernate.enable_lazy_load_no_trans 是一种反模式你永远不应该使用它,因为每个惰性关联都需要数据库连接在初始持久性上下文之外获取,这将对底层事务日志和 JDBC 连接池施加压力。

更多,hibernate.enable_lazy_load_no_trans容易出现 N+1 查询问题。

有时,您甚至不需要实体,而 DTO 投影会更好。

关于hibernate.enable_lazy_load_no_trans 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28246182/

相关文章:

hibernate - BigDecimal 未使用 JPA 正确保存在数据库中

java - 在违反唯一约束时使用 JPA/Hibernate 和实体更新列

hibernate - 由于 LazyInitializationException,无法获取@Any 相关实体

performance - 懒惰评估 : Why is it faster, 优缺点、机制(为什么它使用较少的 CPU;示例?)和简单的概念证明示例

java - 编程约束定义并重新定义默认组

java - Hibernate 无法解析带有枚举的类型

spring - JpaRepository 通过登录的用户上下文查找实体

java - 什么是非惰性初始化?

swift - 懒让?结构中的快速解决方法

c# - 惰性初始化类型没有公共(public)无参数构造函数