Dette er et problem med Spring data JPA. Hvis datatypen i DB er defineret som BigInteger og i JPA-forespørgslen forsøger vi at hente så Long, vil den ikke give nogen fejl, men den indstiller værdien som BigInteger i Long datatype.
Løsninger:
-
Brug BigInteger som returtype
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<BigInteger> testMethod();
sæt derefter variablen som nedenfor.
Long variable = bigIntegerValue.longValue();
-
Brug String som retur Indtast og konverter til Long
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<String> testMethod();
Indstil derefter værdien som
Long variable = Long.valueOf(stringValue);
-
Skift DB-kolonnetype til heltal/tal.
-
Få værdien fra Entity Objekt.
Long variable = dpConfigData.getOid();
hvor
dpConfigData
er objekt for Entity(DpConfigData.class)