Ambos
BigDecimal e Double estender Number , então você pode fazer:Number singleResult = ((Number) entityManager.createNativeQuery(sqlString).getSingleResult());
double resultAsDouble = singleResult.doubleValue();
BigDecimal resultAsBigDecimal = new BigDecimal(singleResult.toString());
Use
resultAsDouble se você deseja o tipo primitivo, mas não se preocupa em preservar a precisão exata, use resultAsBigDecimal por outro lado.