【问题标题】:query id not return a unique result: 6查询 id 不返回唯一结果:6
【发布时间】:2020-09-09 11:46:58
【问题描述】:

我有这种情况:

MedidasController.java

@DateTimeFormat(pattern="yyyy/MM/dd")
    @GetMapping("/{unidade_id}/{dataInicial}/{dataFinal}")
    public Medidas listaMedidasPeriodo(@PathVariable("unidade_id") Integer unidade_id, @PathVariable("dataInicial") @DateTimeFormat(iso=ISO.DATE) Date dataInicial, @PathVariable("dataFinal") @DateTimeFormat(iso=ISO.DATE) Date dataFinal) {
        Medidas medidas = medidasRepositorio.listarMedidasPeriodo(unidade_id, dataInicial, dataFinal);
        return medidas;
    }

MedidasRepositorio.java

@Query(value="SELECT * FROM my_table WHERE unidade_id = :unidade_id AND (data_medicao >= :dataInicial AND data_medicao <= :dataFinal)  ORDER BY data_medicao,hora_do_dia ASC;", nativeQuery=true)
    Medidas listarMedidasPeriodo(@Param("unidade_id") Integer unidade_id,
                            @Param("dataInicial") Date dataInicial, 
                            @Param("dataFinal") Date dataFinal );

我收到了这个错误: javax.persistence.NonUniqueResultException:查询未返回唯一结果:6

我错过了什么? 我

【问题讨论】:

  • 也许你想要一个方法List&lt;Medidas&gt; listarMedidasPeriodo(...)

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


【解决方案1】:

LIMIT 1 添加到您的查询中,因为查询返回的值不止一个(如果您想检索一个值)

,或者添加方法的返回为List&lt;Medidas&gt;(如果要检索所有值)

   @Query(value="SELECT * FROM my_table WHERE unidade_id = :unidade_id AND (data_medicao >= :dataInicial AND data_medicao <= :dataFinal)  ORDER BY data_medicao,hora_do_dia ASC;", nativeQuery=true)
   List<Medidas> listarMedidasPeriodo(@Param("unidade_id") Integer unidade_id,
                            @Param("dataInicial") Date dataInicial, 
                            @Param("dataFinal") Date dataFinal );

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-30
  • 1970-01-01
  • 2020-10-15
  • 2014-07-15
  • 2017-12-29
  • 1970-01-01
  • 2020-06-05
相关资源
最近更新 更多