[英]How to transform this sql into jpql
我有這種情況:
@Query(value="select distinct mensal, anual, porcentagem from resultados where id_empresa = :id_empresa and tipo_tarifa= :tipo_tarifa", nativeQuery=true)
List<Resultados> listarResultadosPorTarifa(@Param("id_empresa") Integer id_empresa, @Param("tipo_tarifa") String tipo_tarifa);
當我運行我的應用程序時,出現此錯誤:
id 列不在結果集中
我該如何解決?
當我運行我的應用程序時,出現此錯誤:
id column is not in resultset
原因是您試圖獲取 [mensal, anual, porcentagem] 這三個字段並試圖存儲在一個實體中,這是錯誤的方法。 您可以嘗試以下示例,
截至目前,請將以下 class 視為您的實體:
結果 Ados.java
@Entity
class ResultAdos{
Integer empresaId;
String mensal;
String anual;
String porcentAgem;
String tipoTarifa;
//getter
//setter
}
結果庫.java
@Query(value="select * from resultados where id_empresa = :id_empresa and tipo_tarifa= :tipo_tarifa", nativeQuery=true)
List<Resultados> listarResultadosPorTarifa(@Param("id_empresa") Integer id_empresa, @Param("tipo_tarifa") String tipo_tarifa);
以上查詢將完美運行
如果您不想更改查詢,則可以使用以下示例,
結果Dto.java
class ResultDto{
String mensal;
String anual;
String porcentAgem;
//getter
//setter
}
結果庫.java
@Query(value="select distinct mensal, anual, porcentagem from resultados where id_empresa = :id_empresa AND tipo_tarifa= :tipo_tarifa", nativeQuery=true)
List<ResultDto> listarResultadosPorTarifa(@Param("id_empresa") Integer id_empresa, @Param("tipo_tarifa") String tipo_tarifa);
-- 在 JPQL 中,字段名/列名應來自您的實體,表名應與實體名稱相同,如“ResultAdos”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.