将存储库层的结果定位到DTO对象

时间:2017-10-23 16:02:27

标签: java spring hibernate spring-data-jpa jpql

我需要在一个Query表单Repository Layer中获取ObjectEntity的计数和总和。 Count是Long值,但sum是Double值。可以在Repository方法中将结果定位在一个DTO对象中,或者找到它的数字列表对象,例如清单? 查询方法如下所示

@Query(value = "Select count(f), sum(f.valueToPay) from ObjectEntity f ")
    Object[]  getData();

POJO对象

@Data
public class ObjectDTO {

    Double value;
    Long quantity;
}

2 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,您只需要将查询结果放入一个对象中,该对象将为您提供有意义且一致的变量名称。

您需要做的就是将对象[]更改为ObjectDTO,以便您拥有

@Query(value = "Select count(f), sum(f.valueToPay) from ObjectEntity f ")
ObjectDTO  getData();

现在您要映射到对象数组而不是要使用的实际对象。

答案 1 :(得分:0)