Hibernate notIn em coleções

Pessoal tenho a seguinte situação:

Tenho uma coleção (List) de uma determinada classe que está persistida, quero buscar essa classe no banco com o Hibernate (estou usando CRITERIA) e trazer apenas os objetos que não estão nessa minha coleção.

Fácil.

Expression.not(Expression.in(“suaPropriedade”, suaLista))

Expression.not é o equivalente ao “not” no sql.

No meu caso a minha propriedade é o proprio objeto. Se fosse o “ID” seria tranquilo, mas eu tenho é uma coleção de objetos e não uma coleção dos “ids” de meus objetos. Já fiz dessa maneira, mas dá trabalho pois tenho q montar uma coleção separada só com os id’s.

A propriedade não precisa ser um id, pode ser um objeto mesmo. :wink:

Mas no meu caso, a coleção é de objetos do mesmo tipo que vou fazer a busca.

É só você sobrescrever o método equals() na sua entidade que vai funcionar direitinho.

cara… faz um Vector de chaves primarias…
se for um id “int” é ainda mais facil…

cria um Vector
faz um for com seu array…
e adiciona os ids ao vector…

dai passa o vector no .in()