Este es un problema con Spring data JPA. Si en la base de datos el tipo de datos se define como BigInteger y en la consulta de JPA intentamos buscar como Long, entonces no dará ningún error, pero establecerá el valor como BigInteger en el tipo de datos Long.
Soluciones:
-
Utilice BigInteger como tipo de retorno
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<BigInteger> testMethod();
luego configure la variable como se muestra a continuación.
Long variable = bigIntegerValue.longValue();
-
Usar Cadena como Tipo de retorno y convertir a Largo
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<String> testMethod();
luego establezca el valor como
Long variable = Long.valueOf(stringValue);
-
Cambiar el tipo de columna de la base de datos a Entero/Número.
-
Obtener el valor de Entidad Objeto.
Long variable = dpConfigData.getOid();
donde
dpConfigData
es objeto de Entidad (DpConfigData.class)