java - 如何在JPA中不检索 parent 信息

标签 java rest jpa

我有两个实体,我将其命名为 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,我假设您正在序列化查询结果。看起来 A 的数据正在被获取(急切/懒惰),因为您的 json 序列化程序假设 parent 包含要序列化的重要数据。

序列化时需要跳过 parent 字段(例如使用 @Transient 注释或其他方式,具体取决于您的 json 库)

关于java - 如何在JPA中不检索 parent 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21103905/

相关文章:

java - JPA Query 仅选择特定列而不使用 Criteria Query?

java - Hibernate 为带有 JoinTable 的可选双向 OneToOne 生成错误查询

java - Android应用程序中的倒计时

Java 类加载器和内存管理

java - 如何从 SFSB 的 SessionContext 获取业务对象

rest - 通过 REST API 添加/导入 Sharepoint 2013 WebPart

java - 从 Java 中的文件中读取行

JSON、AJAX、REST 术语

rest - 使用基于表单的身份验证时,http 服务器应该在 401 响应中返回什么 WWW-Authenticate header ?

java - 在 Hibernate3 中的 saveOrUpdateAll 情况下,具有相同标识符值的不同对象已与 session 关联