Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Weryfikacja nie powiodła się dla zapytania dla metody JPQL

Każesz Springowi traktować to zapytanie jako natywne. W przeciwnym razie spróbuje zweryfikować to zgodnie ze specyfikacją JPA.

Wypróbuj:

@Query(value = "SELECT ...", nativeQuery = true)
public List<Object[]> transactions();

Należy pamiętać, że w tym przypadku nie można użyć składni operatora NEW, a wynik byłby tablicą Object .

Alternatywnie

Jeśli chcesz użyć mapowania wyników bezpośrednio do klasy POJO, musisz (zakładając, że używasz JPA 2.1+):

1) Zdefiniuj mapowanie:

@SqlResultSetMapping(
    name="transactionsMapping",
    classes={
        @ConstructorResult(
            targetClass=ConsolidateResDB.class,
            columns={
                @ColumnResult(name="transdate"),
                @ColumnResult(name="orderreqid")
                // further mappings ...
            }
        )
    }
)

2) Zdefiniuj zapytanie natywne

@NamedNativeQuery(name="transactions"
    , query="SELECT DATE_FORMAT(ts, '%d-%m-%Y') AS transdate, IFNULL(COUNT(orderreqid),0) ... ")

3) Zdefiniuj tę metodę w CrudRepository bez @Query adnotacja:

public List<ConsolidateResDB> transactions();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmieniasz bieżącą liczbę wartości Auto Increment w MySQL?

  2. Jak zaktualizować samodzielnie hostowane wordpress i zainstalowane wtyczki witryny na żywo do najnowszych dostępnych wersji bez żadnych problemów?

  3. SQL Inner Join – Jak połączyć 3 tabele w SQL i MySQL

  4. Limit warunku MySQL IN

  5. Zastąp słowo w tekście BLOB przez MySQL