我们正在使用JPA + Hibernate。 我有一些延迟加载的多对一映射。
在Service中,我通过调用getter方法初始化多对一对象。但是代理被分配给父VO而不是实际的VO对象。
我的问题是,JPA中是否有任何方法强制使用无代理策略。 我的限制是我不能使用Hibernate Objects或@LazytoOne之类的注释等。
提前感谢。
答案 0 :(得分:2)
你不能阻止Hibernate在那里使用代理对象,因为它不得不保证它是一个懒惰的关系。
您有多种选择:
Hibernate.initialize(parent.getChild())
。请注意,这不是最好的方法,这也需要一个活动的交易。我建议你选择2或3选项,因为它们是最有效的方法。
关于延迟加载的here。