Hibernate

3 respostas
F

to fazendo um metodo para me retornar um select no banco

public Acervo acervoPorCod(Acervo acervo) {
    
        Session session = hibernate.HibernateUtil.currentSession();
        Query q = session.createQuery(
        "from"+ 
        "Acervo as acervo"+ 
        "where" +
        "acervo.cod = :aux ");
        q.setInteger("aux",acervo.getCod());
       
       
        return acervo;     
    }

como faço para colocar o resultado da consulta dentro do objeto acervo?
nao exite um meto finder que faz a consulta e retorna, assim com o save ou update??? obrigado

3 Respostas

drix
Talvez, isto pode ajudar:
public Acervo acervoPorCod(Acervo acervo) {
     
         Session session = hibernate.HibernateUtil.currentSession();
         Query q = session.createQuery(
         "from"+ 
         "Acervo as acervo"+ 
         "where" +
         "acervo.cod = :aux ");
         q.setInteger("aux",acervo.getCod());
        
  
	 // Pega o primeiro registro retornado pela Query e intancia ao objeto Acervo
	 acervo = (Acervo) q.list().get(0); //Comeca do 0
	 //     

         return acervo;     
}

:wink:

Paulo_Silveira

diversas possibilidades:

acervo = q.list().get(0); // comeca do 0

existe um metodo de conveniencia quando voce tem certeza que só é retornada uma unica entidade

acervo = q.uniqueResult();

Mas a minha preferida, no caso de voce ja ter um acervo com o ID que voce quer:

session.refresh(acervo)

Esse ultimo voce nao precisaria ter escrito a query

F

Valeu… funcionou aqui!!!

Criado 30 de junho de 2006
Ultima resposta 30 de jun. de 2006
Respostas 3
Participantes 3