我有两个实体,我将其命名为 A
和 B
。
B 映射到 A,如下所示:
@ManyToOne(targetEntity=A.class)
private A parent;
与A有另一种关系:
@OneToMany(targetEntity=B.class)
private List<B> children;
在我的客户端,我进行了一个调用,使用命名查询获取数据库中具有父级 A 的所有 B:
Select b from B b where b.m_parent=:parent
问题是,虽然这工作正常并且我获取了所有元素,但每个 B 的 json 都包含 owner:{//A's info}
。
有没有办法让我不为我查询的 B 的每个元素返回 A 的信息?
最佳答案
既然您提到了 json,我假设您正在序列化查询结果。看起来 A 的数据正在被获取(急切/懒惰),因为您的 json 序列化程序假设 parent
包含要序列化的重要数据。
序列化时需要跳过 parent
字段(例如使用 @Transient
注释或其他方式,具体取决于您的 json 库)
关于java - 如何在JPA中不检索 parent 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21103905/