简体   繁体   中英

query id not return a unique result: 6

I have this scenario:

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 );

I got this error: javax.persistence.NonUniqueResultException: query did not return a unique result: 6

What I am missing? I

Add LIMIT 1 to your query because there is more than one value returning from the query (if you want to retrieve one value)

, or add the return of the method to be List<Medidas> (if you want to retrieve all values)

   @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 );

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM