gpt4 book ai didi

eclipse - EntityManager的getReference不是延迟加载

转载 作者:行者123 更新时间:2023-12-02 12:21:29 24 4
gpt4 key购买 nike

尝试持久化一个包含成员变量的实体,该成员变量是对不在当前持久化上下文下的其他实体的引用,这是不可能的,当发生这种情况时,需要获取所需的实体并将其设置在原始实体中实体以尊重这种关系并允许其持续存在。

当我需要完成此任务时,我通常使用 EntityManager 的 find 方法,但这将访问数据库并获取整个实体及其可能未注释为延迟加载的关系。我很高兴发现getReference,据说它不会访问数据库,而是返回一个代理表示,其中只有主键可用,而这实际上是这种情况所需的全部。

不幸的是,经过一些调试后,我发现自己能够在通过 Eclipse Debug模式“检查”实体时查看有关 getReference 实体的所有信息,而不仅仅是主键。

我错过了什么吗?我是不是被 Debug模式欺骗了?它是否可以像在代理引用上使用 getter 方法一样获取信息?

提前致谢

最佳答案

当您使用 Eclipse 调试器检查它时,调试器会初始化代理。只需打开 SQL 日志记录,执行 em.getReference() 方法,并验证 JPA 引擎是否未执行任何 select 语句。

关于eclipse - EntityManager的getReference不是延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12528051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com