尝试持久化包含成员变量的实体是不可能的,该成员变量是对不在当前持久性上下文中的其他实体的引用,当发生这种情况时,需要获取所需的实体并将其设置在原始实体中尊重这种关系,并被允许坚持下去。
当我需要完成此操作时,我通常会使用 EntityManager 的find方法,但这会访问数据库并获取整个实体以及它的关系,这些关系可能没有为延迟加载进行注释。我很高兴了解getReference,它可能不会访问数据库,而是返回只有主键可用的代理表示,而这实际上是这种情况所需的全部。
不幸的是,经过一些调试后,当我通过 Eclipse 调试模式“检查”它时,我发现自己能够查看有关getReference实体的所有信息,而不仅仅是主键。
我错过了什么吗?我被调试模式欺骗了吗?是否可以像在代理引用上使用 getter 方法一样获取信息?
提前致谢