Java 如何使用JPA将db表放入DTO的属性中

Java 如何使用JPA将db表放入DTO的属性中,java,spring,spring-data-jpa,spring-data-rest,Java,Spring,Spring Data Jpa,Spring Data Rest,下面是我使用的方法的示例代码 @Getter @塞特 @AllArgsConstructor 公共类MyDTO{ 私人名单清单a; 私人名单b; } @RepositoryRestController 公共类MyController{ @自动连线 私人实体是积极的寄存; @自动连线 私人实体b存储库b; @RequestMapping(method=RequestMethod.GET,value=“/getDTO”) 公共MyDTO getDTO(){ 返回新的MyDTO(repositoryA

下面是我使用的方法的示例代码

@Getter
@塞特
@AllArgsConstructor
公共类MyDTO{
私人名单清单a;
私人名单b;
}
@RepositoryRestController
公共类MyController{
@自动连线
私人实体是积极的寄存;
@自动连线
私人实体b存储库b;
@RequestMapping(method=RequestMethod.GET,value=“/getDTO”)
公共MyDTO getDTO(){
返回新的MyDTO(repositoryA.findAll(),repositoryB.findAll());
}
}
@存储资源
公共接口EntityARepository扩展了JpaRepository{}
@存储资源
公共接口EntityBRepository扩展了JpaRepository{}
换句话说,我想把所有两个表都放在集合中

这是我期待的回应

{
    "listA" : [{.../* all EntityA */}],
    "listB" : [{.../* all EntityB */}]
}
我目前正以这种方式做两个选择,我认为这不是一个好主意


我想找到一种使用JPA样式进行一次性选择的方法。

JPA允许您通过新建和构造函数创建对象

SELECT new MyDTO(o.prop1, o.prop2) FROM Object o
有关构造函数表达式,请参见JPQL文档:

Spring数据JPA方法:


基于类的投影(DTO)

JPA允许您通过新建和构造函数创建对象

SELECT new MyDTO(o.prop1, o.prop2) FROM Object o
有关构造函数表达式,请参见JPQL文档:

Spring数据JPA方法:


基于类的投影(DTO)

我目前正以这种方式进行两次选择,我认为这不是一个好主意。是什么让你这么想?“艾伦Hayy两次I/O给DBYou也可能考虑取实体,然后用像MaStReT这样的工具转换成DTOS。我现在用这种方式做两个选择,我认为这不是一个好主意。是什么让你这么想?“艾伦Hayy两次I/O给DBYou也可能考虑取实体,然后用像MaStReT这样的工具转换成DTOS。