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

回到顶部