Java Desktop - Botão deletar não deleta corretamente

Pessoal, estou migrando pra java desktop e não estou conseguindo excluir o usuário do banco de dados. Provavelmente é a minha lógica que não está correta. No fim da execução ele estoura uma exceção com a seguinte mensagem “attempt to create delete event with null entity”. Agreço se alguém puder dar uma luz.

Ação do botão excluir

public void actionPerformed(ActionEvent e) {
	RepositorioUsuario repositorio = new RepositorioUsuario();
	Usuario usuario = repositorio.consultarPorCPF(jtfCpf.getText());
	
	try {
		repositorio.remover(usuario);
		JOptionPane.showMessageDialog(null, "Usuário deletado");
	} catch (Exception b) {
		JOptionPane.showMessageDialog(null,"Erro ao excluir");
	}
}

Método de Exclusão

public boolean remover(Usuario usuario) {
	Session sessao = HibernateUtil.getSessionFactory().openSession();
	Transaction transacao = null;
	
	try {
		transacao = sessao.beginTransaction();
		sessao.delete(usuario);
		transacao.commit();
	} catch (RuntimeException e) {
		System.out.println(e.toString());
		// TODO: handle exception
		if (transacao != null)
			transacao.rollback();
		throw e;
	} finally {
		sessao.close();
	}
	
	return true;
}

Parece que esse método está retornando null. Ou seja, usuário não existe.
Antes de deletar faça um if (usuario != null)

Eu já havia tentado fazer isso antes de postar a dúvida aqui. Acredito que o erro esteja no “consultarPorCPF”. Pois quando eu passo um CPF que está cadastrado no banco ele consegue excluir. Acredito que a causa do erro seja esse jtfCpf.getText() que está como parâmetro no método de “consultarPorCPF”. Mas não sei uma forma de solucionar.

E qual foi o resultado? Use o if que eu falei e poste o novo erro.

 Ele não acusa nenhum erro. E também não exclui.

   public void actionPerformed(ActionEvent e) {
			
	       RepositorioUsuario repositorio = new RepositorioUsuario();
	       Usuario usuario = repositorio.consultarPorCPF(jtfCpf.getText());
	
	
		
		try {
			if (usuario != null) {
			repositorio.remover(usuario);
				JOptionPane.showMessageDialog(null, "Usuário deletado");
			}
		}catch(Exception b) {
			JOptionPane.showMessageDialog(null,"Erro ao excluir");
		}
		
		}

Tente isso aqui:

if (usuario != null) {
    repositorio.remover(usuario);
    JOptionPane.showMessageDialog(null, "Usuário deletado");
} else {
    JOptionPane.showMessageDialog(null, "Usuário não existe");
}

Ele está apagando apenas o último cadastro que foi realizado. Os outros ele não exclui.

Mostre o código do método consultarPorCPF.

 public Usuario consultarPorCPF(String cpf) {
	Session sessao = HibernateUtil.getSessionFactory().openSession();
	try {
		Criteria consulta = sessao.createCriteria(Usuario.class);
		consulta.add(Restrictions.like("cpf", cpf));

		Usuario resultado = (Usuario) consulta.uniqueResult();
		return resultado;

	} catch (RuntimeException e) {
		System.out.println(e.toString());
		// TODO: handle exception
		throw e;
	} finally {
		sessao.close();
	}

}

Faz um select * na sua tabela para ver se os dados estão salvos.