Oba BigDecimal a Double rozšířit Number , takže můžete udělat:
Number singleResult = ((Number) entityManager.createNativeQuery(sqlString).getSingleResult());
double resultAsDouble = singleResult.doubleValue();
BigDecimal resultAsBigDecimal = new BigDecimal(singleResult.toString());
Použijte resultAsDouble pokud chcete primitivní typ, ale nezáleží vám na zachování přesné přesnosti, použijte resultAsBigDecimal jinak.