Cả BigDecimal và Double mở rộng Number , vì vậy bạn có thể làm:
Number singleResult = ((Number) entityManager.createNativeQuery(sqlString).getSingleResult());
double resultAsDouble = singleResult.doubleValue();
BigDecimal resultAsBigDecimal = new BigDecimal(singleResult.toString());
Sử dụng resultAsDouble nếu bạn muốn kiểu nguyên thủy, nhưng không quan tâm đến việc duy trì độ chính xác chính xác, hãy sử dụng resultAsBigDecimal ngược lại.