Oba BigDecimal
i Double
rozszerz Number
, więc możesz zrobić:
Number singleResult = ((Number) entityManager.createNativeQuery(sqlString).getSingleResult());
double resultAsDouble = singleResult.doubleValue();
BigDecimal resultAsBigDecimal = new BigDecimal(singleResult.toString());
Użyj resultAsDouble
jeśli chcesz typ pierwotny, ale nie dbasz o zachowanie dokładnej precyzji, użyj resultAsBigDecimal
inaczej.