PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Fehler in Spring Data JPA:Spring Data gibt List anstelle von List zurück

Dies ist ein Problem mit Spring Data JPA. Wenn in DB der Datentyp als BigInteger definiert ist und wir in der JPA-Abfrage versuchen, Long abzurufen, wird kein Fehler ausgegeben, aber der Wert wird als BigInteger im Long-Datentyp festgelegt.

Lösungen:

  1. Verwenden Sie BigInteger als Rückgabetyp

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

    Legen Sie dann die Variable wie folgt fest.
    Long variable = bigIntegerValue.longValue();

  2. Verwenden Sie String als Rückgabetyp eingeben und in Long

    umwandeln

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

    Legen Sie dann den Wert als

    fest

    Long variable = Long.valueOf(stringValue);

  3. DB-Spaltentyp ändern zu Ganzzahl/Zahl.

  4. Holen Sie sich den Wert von Entität Objekt.

    Long variable = dpConfigData.getOid();

    wobei dpConfigData ist Objekt von Entity(DpConfigData.class)