首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JPARepository返回目标实体

如何使用JPARepository返回目标实体
EN

Stack Overflow用户
提问于 2019-07-26 02:31:16
回答 1查看 83关注 0票数 0

我已经设置了多个父-子实体。

代码语言:javascript
复制
public class Brigade {
  // Ids

  @OneToMany(mappedBy = "brigade", orphanRemoval = true, cascade = CascadeType.ALL, fetch = FetchType.LAZY)
  @JsonManagedReference
  private List<Battalion> battalionList;

 // other columns
}

public class Battalion {
  // Ids

  @ManyToOne(fetch = FetchType.LAZY)
  @JoinColumn(name = "BRIGADE_ID")
  @JsonBackReference
  private Brigade brigade;

  @OneToMany(mappedBy = "battalion", orphanRemoval = true, cascade = CascadeType.ALL, fetch = FetchType.LAZY)
  @JsonManagedReference
  private List<Company> companyList;

  // other columns
}

public class Company {
  // Ids

  @ManyToOne(fetch = FetchType.LAZY)
  @JoinColumn(name = "BATTALION_ID")
  @JsonBackReference
  private Battalion battalion;

  // other columns
}

在前端,我有一个页面显示一个营表,供用户选择查看详细信息。这个页面依赖于一个RESTful API,存储库和服务类都是这样设置的。

代码语言:javascript
复制
public interface BattalionRepository extends JpaRepository<Battalion, Long> { }

public class BattalionService {

  @Autowired
  private BattalionRepository battRepository;

  public List<Battalion> getAllBattalions() {
    return List<Battalion> battRepository.findAll();
  }

  // other stuff
}

我的问题是,JPARepository的.findAll()方法不仅将返回营条目的列表,还将返回营所链接的父旅实体,以及每个营包含的所有相关的子连。它膨胀了JSON数据(我不需要表中的所有细节),并且在调试时令人难以置信地难以阅读,更不用说将所有数据转储到客户机上的安全性问题了。

如何让JPARepository返回--只返回目标实体的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-26 03:58:29

通过使用预测,您可以通过声明自己的接口、表示选择性属性和编写自己的查询方法来获取选择性属性。当然,有多种编写接口的方法。看看文档中共享的示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57212414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档