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.
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.
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()