Crud jsf 2.0

Olha eu ai de novo… kkkk
Estou treinando JSF 2.0 com Hibernate e estou com algumas dúvidas. Então gostaria de obter sugestões dos Experts daqui:
Tenho uma tela com uma lista retornado do BD.
nessa tela tenho o link para excluir cada objeto no banco. Vou colocar aqui a forma que fiz no metodo excluir e quem tiver mas experiencia ai por favor me diga se a forma que estou fazendo é a melhor: Desde já muito obrigado.

trexo da lista.xhtml:

<h:form> <h:dataTable border="1" var="item" value="#{alunoBean.lista}"> <h:column> <f:facet name="header">EXCLUIR:</f:facet> <h:commandLink action="#{alunoBean.delete(item.idAluno)}" value="Excluir" /> </h:column> </h:dataTable> </h:form>

Método no menaged bean

public String delete(Long id) { Aluno aluno = new Aluno(); aluno.setIdAluno(id); Session session = HibernateUtil.getSessionFactory(); Transaction transaction = session.beginTransaction(); session.delete(aluno); transaction.commit(); session.close(); return "listarAluno"; }

Seria isso ai mesmo ou existe algo mas usual?
Grato.

Você pode recuperar o objeto direto sem precisar passar o id.

public void delete(Aluno aluno ) { Session session = HibernateUtil.getSessionFactory(); Transaction transaction = session.beginTransaction(); session.delete(aluno); transaction.commit(); session.close(); }

Só ajustar o seu parâmetro, ou pode optar por capturar direto do FacesContext.getCurrentInstance().

Acredito que a opção de barbon é muito interessante.

Concordo plenamento… já alterei meu código. Valew galera.