带有 ModelMapper 的 LazyInitializationException

DB 中的两个表:TAB_ATAB_Bprop列上表之间的“一对一”关系。

在我的应用程序中,我有 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 + 弹簧 4.3


呼如林
浏览 135回答 1
1回答

开心每一天1111

该@Transactional注释看起来像是草率的修复,要真正解决问题,我建议将其删除,并避免在您的实体中延迟加载(改为使用 Eager)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java