【发布时间】:2017-04-21 18:48:44
【问题描述】:
使用 JPA2 标准查询,我们可以将最终结果投影到 DTO(例如)上,如下所示:
query.select(builder.construct( ProductGridDTO.class,
root.get(Productos_.proId),
root.get(Productos_.proAlias),
root.get(Productos_.proNombre),
companies.get(Companias_.ciaNombre),
companies.get(Companias_.ciaId)));
但是,此方法取决于我的 DTO 类中的参数顺序,这是完全错误的。使用旧的(现已弃用)休眠标准 API,我们可以使用投影列表:
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.property("id"), "id");
projectionList.add(Projections.property("name"), "name");
这与 DTO 的参数顺序无关。
是否可以在 JPA 中使用类似的策略?
【问题讨论】:
标签: jpa-2.1 hibernate-5.x