[Resolvido] VRaptor + Hibernate - Session Closed

Tarde x]

Galera, vamos aos códigos ?

public class AccountDAO {
	
	private GenericDAO<Account> dao;
	private Session session;	

	public AccountDAO(Session session) {
		this.session = session;
		dao = new GenericDAO<Account>(session, Account.class);
	}

	public List<Account> doSomething(){
		return (List<Account>) dao.something();
	}

Então beleza… Esse é o DAO que eu tenho x]
E eu fiz outro DAO que encapsula este Account aí…

tipo assim:

@Component
public class RootDAO {

	private AccountDAO accountDAO;
	
	public RootDAO(AccountDAO accountDAO) {
		this.accountDAO = accountDAO;
	}

	
	public List<Account> list(){
		return accountDAO.doSomething();
	}

Aí recebo a bela Exception dizendo que org.hibernate.SessionException: Session is closed!
no meu método something() láááá do DAO generico…

Eu mudei um pouco o nome pra simplificar… mas o método something na verdade executa um HQL…

		session.beginTransaction();
		Query q = session.createQuery(hql);

		if (notEmpty(params))
			for (HqlParameter parameter : params)
				parameter.set(q);

		if (maxResults > 0) {
			q.setFirstResult(firstResult);
			q.setMaxResults(maxResults);
		}

		q.setResultTransformer(DISTINCT_ROOT_ENTITY);

		List<?> list = q.list();

		session.getTransaction().commit();
		session.close();

		return list;

obrigado

O problema está aqui: session.close();

Você está fechando a session. Deixe isso para o próprio SessionProvider da vida…

Eitaaaa!! Like a ninja!

Resolvido x]
Obrigado Guerreiro !!!