Dit is een probleem met Spring-gegevens JPA. Als in DB het datatype is gedefinieerd als BigInteger en in JPA-query proberen we op te halen als Long, dan zal het geen fout geven, maar wordt de waarde ingesteld als BigInteger in Long datatype.
Oplossingen:
-
Gebruik BigInteger als retourtype
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<BigInteger> testMethod();
stel vervolgens de variabele in zoals hieronder.
Long variable = bigIntegerValue.longValue();
-
Gebruik String als return Typ en converteer naar Long
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<String> testMethod();
stel dan de waarde in als
Long variable = Long.valueOf(stringValue);
-
Wijzig DB-kolomtype naar geheel getal/getal.
-
Haal de waarde op van Entiteit Voorwerp.
Long variable = dpConfigData.getOid();
waar
dpConfigData
is object van Entiteit(DpConfigData.class)