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:
-
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(); -
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
festLong variable = Long.valueOf(stringValue); -
DB-Spaltentyp ändern zu Ganzzahl/Zahl.
-
Holen Sie sich den Wert von Entität Objekt.
Long variable = dpConfigData.getOid();wobei
dpConfigDataist Objekt von Entity(DpConfigData.class)