Funcao Hibernate

Tenho a seguinte funcao no postgre

SELECT valida_benef(‘01049000008085005’,‘2013-01-01’,‘C’,‘PORTAL’,104)

isso retorna a linha abaixo :

“{“0000|0000|000|NNNN|SEM MENSAGEM”}”

Tenho duas duvidas

1 - Como eu faço para chamar essa funcao no hibernate ??

2 - Depois do retorno, preciso ler posicao por posicao e cada “|” seria um campo

Alguem pode me dar uma luz ???

A primeira Pergunta resolvi assim :

             String query = "SELECT valida_benef('01049000008085005','2013-01-01','C','PORTAL',104)";                           
            return (List<Object>) emAux.createNativeQuery(query).getResultList(); 

falta a resposta da segunda .

Esta dando o seguinte erro :
Caused by: java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String


consistencia = (String) cadususervico.buscarfuncaovalidabenef("", "", 1);

******************************************************
        @Interceptors({GerenciaTransacaoInterceptor.class})  
	public String funcaovalidabenefnovo(String codbenef, String data, Integer Codigo) {    
                String query = "SELECT valida_benef('01049000008085005','2013-01-01','C','PORTAL',104)";                           
                String result = (String) emAux.createNativeQuery(query).getSingleResult();
                 
		return result;
	}