【发布时间】:2022-01-11 11:34:42
【问题描述】:
我在我的 java spring 应用程序中使用 jpa EntityManager with hibernate。假设我有一个如下的用户实体:
public class User {
private Long id;
...
@ManyToOne
private Address address
}
我有自定义用户 dto 对象用于传递给客户端:
public class UserDTO {
private Long id;
private AddressDTO address;
...
}
我有一个 UserRepository 可以使用 EntityManager 和 Query 执行正常的 jpql 查询。
注意,我需要自定义 dto,因为我的 dto 有一些实体中不存在的字段,必须在查询中计算。现在我的问题是:EntityManager 有什么方法可以将平面查询结果映射到我的嵌套 UserDTO 中? 事实上,我需要将 AdressDTO 中的地址结果映射到 UserDto 中等等。
注意:我想使用 jpql 而不是原生 sql 查询。
【问题讨论】:
-
您必须使用手动映射来执行此操作,请参阅stackoverflow.com/questions/13012584/…
标签: java hibernate jpa entitymanager