我有两个实体,分别命名为AB
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库)

07-24 18:48
查看更多