Carregando o aluno no Controller:
public Aluno edita(Long idAluno) {
return alunoDao.carrega(idAluno);
}
este método edita() corresponde a uma JSP edita dentro da pasta aluno lá na WEB-INF.
Método carrega no AlunoDAO:
public Aluno carrega(Long idAluno) {
return (Aluno) this.session.load(Aluno.class, idAluno);
}
Depois vêm o método atualiza aluno, lá no Controller:
public void atualiza(Aluno aluno) {
alunoDao.atualiza(aluno);
// mensagem de aluno alterado com sucesso
result.include("mensagem", "Aluno alterado com sucesso");
// redirecionando para a listagem após a alteração
result.use(Results.logic()).redirectTo(AlunoController.class).lista();
}
Método atualiza em AlunoDAO:
public void atualiza(Aluno aluno) {
Transaction tx = session.beginTransaction();
session.update(aluno);
tx.commit();
}
Nos Controllers vc usa a classe AlunoDAO injetando no construtor da classe:
public AlunoController(Result result, AlunoDAO alunoDao, Validator validator) {
this.result = result;
this.alunoDao = alunoDao;
this.validator = validator;
}
Bom, este exemplo seria usando VRaptor 3, espero que ajude. =)
Abraço!