Entrambi BigDecimal
e Double
estendere Number
, quindi puoi fare:
Number singleResult = ((Number) entityManager.createNativeQuery(sqlString).getSingleResult());
double resultAsDouble = singleResult.doubleValue();
BigDecimal resultAsBigDecimal = new BigDecimal(singleResult.toString());
Usa resultAsDouble
se vuoi il tipo primitivo, ma non ti interessa preservare la precisione esatta, usa resultAsBigDecimal
altrimenti.