Hibernate Criteria ajuda!

2 respostas
C

Boa tarde, to fazendo uma pesquisa em um banco de dados para saber o número do uktimo arquivo de boleto que foi gerado, mas ao invés de me retornar um número, ele me retorna o caminho percorrido! :shock:

public List<ArquivoRemessa> findMaxRemessa (){
		Criteria b = getSession().createCriteria(ArquivoRemessa.class);
		b.setProjection(Projections.max("sequencia"));
		return b.list();
	}

valeu :slight_smile:

2 Respostas

ignacio83

Eu não entendi o problema…

Esse caminho percorrido não é o StackTrace não???

Pq esse seu método está errado:

Ele deve retornar uma lista de objetos do tipo sequencia e não uma lista de objetos ArquivoRemessa.

Supondo que a sequecia seja do tipo Integer fica assim:

public List<Integer> findMaxRemessa (){   
        Criteria b = getSession().createCriteria(ArquivoRemessa.class);   
        b.setProjection(Projections.max("sequencia"));   
        return b.list();   
    }
Lavieri

caina27:
Boa tarde, to fazendo uma pesquisa em um banco de dados para saber o número do uktimo arquivo de boleto que foi gerado, mas ao invés de me retornar um número, ele me retorna o caminho percorrido! :shock:

public List&lt;ArquivoRemessa&gt; findMaxRemessa (){
		Criteria b = getSession().createCriteria(ArquivoRemessa.class);
		b.setProjection(Projections.max("sequencia"));
		return b.list();
	}

valeu :)

esse seu criteria não retorna um objeto ArquivoRemessa … nem muito menos 1 lista, ele retorna o valor da propriedade “sequencia” maxima encontrada na lista de acordo com os criterios…

public ArquivoRemessa findMaxRemessa (){   
   Criteria b = getSession().createCriteria(ArquivoRemessa.class);
   b.setProjection(Projections.max("sequencia"));
   Integer id = b.uniqueResult();  //Caso sequencia seja uma String, troque o retorno de Integer para String
   return getSession().load(ArquivoRemessa.class,id);
}

axo q era isso que vc keria…

Criado 3 de abril de 2009
Ultima resposta 3 de abr. de 2009
Respostas 2
Participantes 3