Ps.: a classe não é só isso, tem mais coisa logicamente, o EventoParticipante não pode ser apenas uma relação N-M pois há mais de informações na relação, o banco é legado e não pode ser mudado, apenas quero montar um criteria, pois o HQL ta montando uma SQL muito ruim, e fazendo varios selects pra montar a bagaça
…
Eu quero a lista de todos os Eventos onde há participantes com o cpf passado…
ou seja… em HQL é
SELECT evento
FROM
EventoParticipante as eventoInscricao,
Evento as evento
WHERE
eventoInscricao.evento = evento
AND
eventoInscricao.participante = :pessoaFisica
getSession()
.createCriteria(Evento.class)
.createCriteria("eventoparticipante")
.createCriteria("participante")
.add(Restrictions.like("cpf","variavel do cpf")
.list();
Tem que verificar os nome das tabelas, coloque conforme vc fez no hibernate. A ideia da Criteria é ir navegando entre as tabelas, e aplicar a restrição onde vc deseja. Aguardo resultados…