Beide BigDecimal en Double uitbreiden Number , zodat u het volgende kunt doen:
Number singleResult = ((Number) entityManager.createNativeQuery(sqlString).getSingleResult());
double resultAsDouble = singleResult.doubleValue();
BigDecimal resultAsBigDecimal = new BigDecimal(singleResult.toString());
Gebruik resultAsDouble als je het primitieve type wilt, maar niet de exacte precisie wilt behouden, gebruik dan resultAsBigDecimal anders.