Olá…
Estou fazendo uma consulta utilizando criteria.example
no entanto, o criteria.example, excluir associacoes da consulta
então estou fazendo um consulta da seguinte forma:
public List<Carro> buscaAvancada(Carro obj){
DetachedCriteria criteria = DetachedCriteria.forClass(Carro.class);
Example example = Example.create(obj);
example.enableLike(MatchMode.ANYWHERE);
example.ignoreCase();
example.excludeZeroes();
example.excludeProperty("valor");
example.excludeProperty("valorIPVA");
example.excludeProperty("anoFabricacao");
example.excludeProperty("anoModelo");
example.excludeProperty("importado");
example.excludeProperty("kilometragem");
example.excludeProperty("versao");
criteria.add(example);
criteria.add(Restrictions.in("opcionalVeiculo", obj.getOpcionalVeiculo()));
List<Carro> list = getHibernateTemplate().findByCriteria(criteria);
return list;
}
comentando a linha que tem o Restriction.in, a consulta funciona ok, sem excluir o opcionalVeiculo
sem comentar tenho o seguinte error:
alguns atributo da classe Carro:
... atributos ....
private String versao;
private Boolean blindado;
private String cambio;
@OneToMany(cascade=CascadeType.MERGE,fetch=FetchType.EAGER)
@JoinTable(name="prd_carro_opcional",
joinColumns=@JoinColumn(name="carro_id"),
inverseJoinColumns=@JoinColumn(name="opcional_id")
)
private List<OpcionalVeiculo> opcionalVeiculo;
... mais atributos ...
//apos os atributos, todos os getters and setters
/
Att Dirceu