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.