处理Spring Data JPA查询后我无法获得完整列表,它只显示第一项

时间:2017-10-28 10:54:42

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

我有一个Spring Data JPA存储库,其中包含以下方法

@Repository
public interface ResultAnalysisRepository extends CrudRepository<ResultAnalysis, Long>
{
    @Query(value ="select new com.eduticanew.model.LatestResultDstrbtn(e.subject, e.achivedPer,(e.achivedPer/sum(e.achivedPer))*100) from ResultAnalysis e where e.examID = ?1")
    List<LatestResultDstrbtn> findResultByLatestAchivedPer(String exmName);
}

这里,查询调用bean类的构造函数..,在处理时我只得到第一个项目作为列表,就像这样

result of this query

但我希望列表像

[Required output 2

这是该查询中的构造函数,问题在于第三个参数

LatestResultDstrbtn(e.subject, e.achivedPer,(e.achivedPer/sum(e.achivedPer))*100)

有任何错误,我是编程新手,任何人都可以帮助我

1 个答案:

答案 0 :(得分:0)

通过更改代码

来解决此问题
@Query(value ="select new com.eduticanew.model.LatestResultDstrbtn(e.subject, e.achivedPer,(e.achivedPer/(select sum(e.achivedPer) from ResultAnalysis e where e.examID = ?1))*100) from ResultAnalysis e where e.examID = ?1")
List<LatestResultDstrbtn> findResultByLatestAchivedPer(String exmName);