JPA / Hibernate代理未获取真实对象数据,将所有属性设置为null
我正在将Hibernate与JPA一起使用,并且具有如下所示的关系:
public class PencilImpl implements Pencil { @ManyToOne(targetEntity = PersonImpl.class, fetch = FetchType.LAZY)
@JoinColumn(name = "owner", nullable = false)
private Person owner;
...
@Override
public final Person getOwner() {
return owner;
}
}
自从我开始使用LAZY访 存 类型以来,每次尝试获取铅笔的所有者( pencil.getOwner
)时,我都会得到一个非null对象,该对象的所有内部属性都设置为null。
我看起来像是由Hibernate创建的代理没有在应该的时候从数据库中获取真实的对象。
有任何想法吗?谢谢 :)
回答:
正如JB Nizet所建议的那样,我类的getter中的 最终 修饰符与hibernate为延迟加载的关系创建的代理混淆了。
以上是 JPA / Hibernate代理未获取真实对象数据,将所有属性设置为null 的全部内容, 来源链接: utcz.com/qa/419280.html