Método excluir JSF + Hibernate

Olá amigos, tenho um método na minha classe menageBean que lista os objetos e tenho um método excluir e na minha pagina em JSF eu chamo uma lista de objeto; até ai estar tranquilo listo todos objetos do banco certinho o problema é que eu coloquei ao lado um botão commandlink para executar uma ação de excluir mais ele não faz absolutamente nada.

<h:form>
							<h:dataTable value="#{exercicioBean.listarExercicio}" var="exercicio" border="5">

								<h:column>
									<f:facet name="header">
										<h:outputText value="ID" />
									</f:facet>
									<h:outputText value="#{exercicio.id}" />
								</h:column>


								<h:column>
									<f:facet name="header">
										<h:outputText value="Nome" />
									</f:facet>
									<h:outputText value="#{exercicio.nome}" />
								</h:column>

								<h:column>
									<f:facet name="header">
										<h:outputText value="repeti" />
									</f:facet>
									<h:outputText value="#{exercicio.repeti}" />
								</h:column>

								<h:column>
									<f:facet name="header">
										<h:outputText value="Serie" />
									</f:facet>
									<h:outputText value="#{exercicio.serie}" />
								</h:column>

								<h:column>
									<f:facet name="header">
										<h:outputText value="Tipo" />
									</f:facet>
									<h:outputText value="#{exercicio.tipo}" />
								</h:column>


								<h:column>
									<f:facet name="header">
										<h:outputText value="Ação" />
									</f:facet>
									<h:commandLink value="Editar" />
									<h:outputText value="  /   " />
									<h:commandLink
										actionListener="#{exercicioBean.excluirExercicio(exercicio)}"
										value="Editar" />


								</h:column>
							</h:dataTable>
						</h:form>
package com.br.Bean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import com.br.Dao.Dao;
import com.br.Util.Jsf.FacesUtil;
import com.br.model.Exercicio;

@ManagedBean
@SessionScoped
public class ExercicioBean {

private Exercicio ex = new Exercicio();

private ArrayList<Exercicio> listarExercicio = new ArrayList<Exercicio>();
//private List<Exercicio> listarExercicio = new ArrayList<Exercicio>();

public void editar (Exercicio exercicio){
	
}
 
public void excluirExercicio (Exercicio exercicio){
	
		Dao.getInstance().deletarObjeto(exercicio);
		System.out.println("Exercicio excluido com sucesso");
				
}

public void cadastrar(){
	//System.out.println("CHEGOU AQUI");
	System.out.println(ex.toString());
	
	try {
	
		Dao.getInstance().salvarObjeto(ex);
		FacesUtil.addInfoMessage("Cadastrado com Sucesso !!");
	} catch (Exception e) {
		System.out.println(e);
	}
	
	
	
	limpar();
}

public void limpar(){
	ex = new Exercicio();
}


public Exercicio getEx() {
	return ex;
}


public void setEx(Exercicio ex) {
	this.ex = ex;
}

@SuppressWarnings("unchecked")
public ArrayList<Exercicio> getListarExercicio() {
	
	
	return (ArrayList<Exercicio>) Dao.getInstance().listarObjetos(Exercicio.class);
}

public void setListarExercicio(ArrayList<Exercicio> listarExercicio) {
	this.listarExercicio = listarExercicio;
}

}