Duvida no HIBERNATE

Pessoal, preciso de uma dica, penso q deve ser simples…
seguinte, qndo eu retorno uma busca no banco, eu retorno sempre uma lista de coisas…

agora nesse caso, eu vou retornar apenas um objeto, como q eu devo setar no lugar desse q.list()???
alguem pode me dar essa dica?

public Object findbyCodPeca(EstoqueBO estoque) {   
	HibernateFactory.getSessionFactory();
	Session session = HibernateFactory.openSession();
	session.beginTransaction();
	//SQLQuery q = session.createSQLQuery("select * from estoque where PEC_ID = ?");
	Query q = session.createQuery(" from EstoqueBO where PEC_ID = ?");
	q.setParameter(0, estoque.getPeca());
	EstoqueBO result = (EstoqueBO) q.list();
	return result;
  }

Caso você tenha o ID do objeto, você pode usar o método load() ao invés do list.

algo do tipo:

   public Object findbyCodPeca(Integer id) {     
        HibernateFactory.getSessionFactory();  
        Session session = HibernateFactory.openSession();  
        session.beginTransaction();  
        Estoque estoque = (Estoque) session.load(Estoque.class,id);
        return estoque;  
   }  

Isso é apenas um exemplo. Usando generic, você pode criar apenas um método padrão para todos os DAOs.

Mas para procurar do modo que você fez use .uniqueResult()

Eu acredito que tenha um comando getUniqueResult(); ou você pode continuar dando um list e pegando apenas o primeiro registro.

pessoal, mtooo obrigadooo pela dica…
funcionou aki…

Use session.get( Class , Serializable ):

Estoque estoque = (Estoque) session.get(Estoque.class,id);