LazyInitializationException 与 ModelMapper (Spring + Hibernate)
LazyInitializationException with ModelMapper (Spring + Hibernate)
DB 中的两个表:TAB_A
和 TAB_B
。 prop
列上的表 "one to one" 之间的关系。
在我的应用程序中有 2 个用例:
- 用例 1:
select * from TAB_A
;
- 用例 2:
select * from TAB_A join TAB_B on prop
.
在两种情况下,我使用 ModelMapper 实例将实体映射到 DTO。
没有规则:
- UC1 ->
LazyInitializationException
- UC2 -> 正常
与skip().setProp(null)
:
- UC1 -> 正常
- UC2 ->
prop
值未显示(显然)
我也试过条件映射,但没有成功。如何设置配置映射器以避免在这两种情况下出现任何问题?
休眠 3.5 + Spring 4.3
那个 @Transactional
注释看起来像是一个草率的修复,要真正解决这个问题,我建议将其删除,并避免在您的实体中延迟加载(改用 Eager)。
DB 中的两个表:TAB_A
和 TAB_B
。 prop
列上的表 "one to one" 之间的关系。
在我的应用程序中有 2 个用例:
- 用例 1:
select * from TAB_A
; - 用例 2:
select * from TAB_A join TAB_B on prop
.
在两种情况下,我使用 ModelMapper 实例将实体映射到 DTO。
没有规则:
- UC1 ->
LazyInitializationException
- UC2 -> 正常
与skip().setProp(null)
:
- UC1 -> 正常
- UC2 ->
prop
值未显示(显然)
我也试过条件映射,但没有成功。如何设置配置映射器以避免在这两种情况下出现任何问题?
休眠 3.5 + Spring 4.3
那个 @Transactional
注释看起来像是一个草率的修复,要真正解决这个问题,我建议将其删除,并避免在您的实体中延迟加载(改用 Eager)。