jpa2.2.10 Query 使用entityManager构建hql查询返回Dto,Dto中有set<字段>,具体怎么写
时间: 2023-06-08 15:08:15 浏览: 91
JPA2.0中的动态类型安全查询
您可以考虑使用投影查询,将需要的字段直接查询出来,并将结果转化为Dto对象,然后使用Dto对象的setter方法将结果赋值给set<字段>。具体代码可以参考以下示例:
```
TypedQuery<MyDto> query = entityManager.createQuery("select new com.example.MyDto(e.field1, e.field2, e.field3) from MyEntity e where e.field4 = :param", MyDto.class);
query.setParameter("param", value);
List<MyDto> resultList = query.getResultList();
for(MyDto dto : resultList){
Set<MyOtherObject> mySet = new HashSet<>();
//从数据库中查询mySet并赋值给dto
dto.setMySet(mySet);
}
```
阅读全文