当前位置: 首页 > 知识库问答 >
问题:

jpa EntityManager-将查询结果映射到嵌套的dto类中

商兴朝
2023-03-14
public class User {
    private Long id;
    ...
    
    @ManyToOne
    private Address address
}
public class UserDTO {
    private Long id;
    private AddressDTO address;
    ...
}

共有1个答案

程鸿波
2023-03-14

您可以直接在JPQL中构造DTO。这里有一个例子。

select new your.package.UserDTO(u.id, a.country, a.city, a.street)
from User u join u.address a
where ...

这样的查询返回list

当然userdto必须有适当的构造函数:

public UserDTO(Long id, String country, String city, String street){
   this.id = id;
   this.address = new AddressDTO(country, city, street);
}
 类似资料:
  • 我想进行一个复杂的查询,并将结果映射到DTO中。DTO如下所示: 我的存储库接口是从 。这抛出了一个 ,因为 本身不是实体。 存储库是: 查询从其他实体获取数据以构建DTO。有没有办法将每个列映射到DTO?我试图用下面的查询映射它,但它仍然得到<code>而不是托管类。

  • 我开始使用JOOQ和dvd租赁商店数据库aka sakila。基本上,我想找一个演员和他的角色(我创建的表)。到目前为止,我想到了这个: 我希望能够将演员及其角色提取到一个对象中:DTO。我找到了这篇文章https://arnaudroger.github.io/blog/2017/03/02/jooq-one-to-many-without-dto.html但我发现使用sfm的解决方案过于冗长,

  • 我有一个复杂的本机查询,我正在尝试将其结果映射到非实体DTO类。我正在尝试使用的with 我的DTO类 我的entity类,它具有我将调用此本机查询结果的存储库接口。 存储库 当我从ItemRepository调用getItemDetails()时,出现以下错误: org.springframework.data.mapping.属性引用异常:没有属性项找到项目类型的详细信息 使用和并解决此问题的

  • 问题内容: 有人可以向我展示如何在Hibernate中编写以下SQL并正确获取结果的示例吗? 如果可能的话,我想做的就是将结果放入自己的基类中: 我相信在JPA(使用)中是可能的,但是我还没有弄清楚如何在Hibernate(使用和)中做到这一点。 我试图更好地学习Hibernate,即使这个“简单”查询也令人困惑,无法知道Hibernate以哪种形式返回结果,以及如何将结果映射到我自己的(基)类中

  • 我的域名: 我的DTO: 我的地图绘制程序如下所示: 但是,我得到了以下错误: 目标名称“Framework.system”的类型Framework中的未知属性“system”。你是说“框架外部化”吗?目标名称为“Framework.availability”的Framework类型中的未知属性“availability”。你是说“框架外部化”吗?