任何人都可以帮助解决上述情况吗?
我有一个实体A
,它包含对另一个实体B
的引用(映射为OneToOne
关系)。当我在实体A
上调用merge并返回此持久对象时,实体B
(在单步执行和调试时)显示为Javassist对象而不是实际实体对象。这使得调试非常混乱......
这是我可以关闭的选项吗?这对我有益吗?我已经检查了Manning的Java Persistence with Hibernate一书 - 它没有提到Javassist ......
干杯
答案 0 :(得分:2)
我们得到_javaassist
对象(代理对象),如果在会话关闭后将其初始化为其相关对象。
在您的情况下,尝试打开新会话,启动事务,然后使用session.save()
保存对象以保存对象。然后session.flush()
并提交交易。
它将解决您的问题。
如果它不起作用,我会在刷新会话之前建议Hibernate.initialize(a.getB())
。
它肯定会回归实际对象。