Recebendo valor de uma Função pelo query.uniqueResult() do Hibernate

Boa Tarde Pessoal,
Gostaria de uma ajuda se possivel, estou com o seguinte problema, e ate o momento não achei uma solução para o mesmo.

    try
    {
        Query query = getSession().getNamedQuery("FNC_CALCULA_ALGUMA_COISA");
        query.setParameter("parametro", "UND");
        query.setParameter("parametro1", 15);
        query.setParameter("parametro2", 2);
        query.setParameter("parametro3", 5545);
        query.setParameter("parametro4", 5145);
        query.setParameter("parametro5", null);            
        query.setParameter("parametro6", 125);  
        query.setParameter("parametro7", 12);
        
        
        BigDecimal retorno = (BigDecimal) query.uniqueResult();
        if (retorno == null)
            return null;
        return retorno .doubleValue();
    }
    catch (Exception e)
    {
        throw new SQLException(e.getCause().getMessage());

    }

Ai o que ocorre se eu jogar a função no Banco de Dados e executar ela, ela me traz o valor exemplo “0,42” e no resultado do codigo ele traz “0,0”
gostaria de uma ajuda de todos para saber como posso resolver este problema, pois necessito que ele mostre o “0,42”, e não o “0,0”.

Detalhe: pelo que estive analisando, ele faz uma conversão tipo acima de “0,51” para cima exemplo “1,0” e se tiver abaixo ele fica com o valor “0,0”.

Aguardo ajuda … e obrigado pela atenção de todos.

Usar a tag [code] que é bom, nada?