我有两个实体,分别命名为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,因此我假设您正在序列化查询结果。由于您的json序列化程序假定parent
包含要序列化的重要数据,因此似乎正在获取A的数据(急切地/懒惰地)。
序列化时,您需要跳过parent
字段(例如,使用@Transient
批注或其他方式取决于json库)