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
dpConfigDataje objekt Entity(DpConfigData.class)