Dúvida Spring+JPA

Galera,estou tentando implementar um OpenSessionInView ‘na mão’ mas estou recebendo um ‘Session Closed’:

public void relatorio(){
		try {
			Categoria c = categoriaDAO.findById(new Long(2));
			 session = categoriaDAO.criaSession();
			if(!(session.isOpen())){
				session = (Session)categoriaDAO.getEntityManager().getDelegate();
			}
			
			session.update(c);
			session.close();
			
		}catch(Exception e){
			e.printStackTrace();
		}
	}

[code]
@Override
@Transactional(propagation=Propagation.REQUIRED,readOnly=false)
public Session criaSession() {
return (Session)getEntityManager().getDelegate();
}


Exception:

Exception:Session is closed!
Como resolvo isso?