sql >> Databáze >  >> RDS >> PostgreSQL

Chyba v Spring Data JPA:Spring Data vrací List namísto List

Toto je problém s daty Spring JPA. Pokud je v DB datový typ definován jako BigInteger a v dotazu JPA se pokoušíme načíst jako Long, nehlásí žádnou chybu, ale nastaví hodnotu jako BigInteger v datovém typu Long.

Řešení:

  1. Použijte BigInteger jako návratový typ

    @Query(value = "select distinct(oid) from unit", nativeQuery = true) List<BigInteger> testMethod();

    poté nastavte proměnnou, jak je uvedeno níže.
    Long variable = bigIntegerValue.longValue();

  2. Použijte Řetězec jako return Type a převést na Long

    @Query(value = "select distinct(oid) from unit", nativeQuery = true) List<String> testMethod();

    pak nastavte hodnotu jako

    Long variable = Long.valueOf(stringValue);

  3. Změnit typ sloupce DB na celé číslo/číslo.

  4. Získejte hodnotu z Entity Objekt.

    Long variable = dpConfigData.getOid();

    kde dpConfigData je objekt Entity(DpConfigData.class)



  1. Tabulka MySQL.* AS reference

  2. Jak optimalizovat Entity Framework Queries

  3. Zkontrolujte, zda je prvek obsažen v hodnotách ​(pole) sloupce json v MySql

  4. Jaký je rozdíl mezi Integrated Security =True a Integrated Security =SSPI?