Det här är ett problem med Spring data JPA. Om i DB datatypen definieras som BigInteger och i JPA-frågan vi försöker hämta så Long kommer det inte att ge något fel, men det ställer in värdet som BigInteger i Long datatype.
Lösningar:
-
Använd BigInteger som returtyp
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<BigInteger> testMethod();
ställ sedan in variabeln enligt nedan.
Long variable = bigIntegerValue.longValue();
-
Använd String som retur Skriv och konvertera till Long
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<String> testMethod();
ställ sedan in värdet som
Long variable = Long.valueOf(stringValue);
-
Ändra DB-kolumntyp till heltal/tal.
-
Få värdet från Entity Objekt.
Long variable = dpConfigData.getOid();
där
dpConfigData
är objekt för Entity(DpConfigData.class)