Toto je problém s daty Spring JPA. Pokud je v DB datový typ definován jako BigInteger a v dotazu JPA se pokoušíme načíst jako Long, nehlásí žádnou chybu, ale nastaví hodnotu jako BigInteger v datovém typu Long.
Řešení:
-
Použijte BigInteger jako návratový typ
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<BigInteger> testMethod();
poté nastavte proměnnou, jak je uvedeno níže.
Long variable = bigIntegerValue.longValue();
-
Použijte Řetězec jako return Type a převést na Long
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<String> testMethod();
pak nastavte hodnotu jako
Long variable = Long.valueOf(stringValue);
-
Změnit typ sloupce DB na celé číslo/číslo.
-
Získejte hodnotu z Entity Objekt.
Long variable = dpConfigData.getOid();
kde
dpConfigData
je objekt Entity(DpConfigData.class)