Olá, como faço no hibernate usando a Criteria API, para quando um parametro seja null, o criteria não testar aquela condição?
E uma duvida a respeito de fetchmode com join e createalias. Ambos carregam a coleção, a unica diferenca é que o createalias define um nome para a propriedade?
Abaixo um exemplo retirado da documentação online do hibernate
Example example = Example.create(cat)
.excludeZeroes() //exclude zero valued properties
.excludeProperty("color") //exclude the property named "color"
.ignoreCase() //perform case insensitive string comparisons
.enableLike(); //use like for string comparisons
List results = session.createCriteria(Cat.class)
.add(example)
.list();
.excludeZeroes() eu também vi, mais como está dizendo é para excluir Zero e não Null, não tenho como testar aqui agora, amanha vou testar para ver se funciona para null também, você já estou isso ai?
Ae, estou tentando usar esse .excludeZeroes() , porém ele não está me atendendo.
Tenho o seguinte codigo
LocalizacaoVO pLocalizacao = new LocalizacaoVO();
pLocalizacao.setQuadra("b");
pLocalizacao.setLote( lote ); //sendo que lote eu setei o codigo
Example example = Example.create(pLocalizacao)
.excludeZeroes()
.ignoreCase()
.enableLike(MatchMode.START);
Criteria select = sessao.createCriteria(pLocalizacao.getClass())
.add(example)
.createAlias("lote","lote");
dessa forma ele não está verificando a foreign key, ta simplesmente ignorando, só está testando o where para a Quadra
Example example = Example.Create(cat)
.ExcludeZeroes() //exclude null or zero valued properties
.ExcludeProperty("Color") //exclude the property named "color"
.IgnoreCase() //perform case insensitive string comparisons
.EnableLike(); //use like for string comparisons
IList results = session.CreateCriteria(typeof(Cat))
.Add(example)
.List();
exclude null or zero valued properties
boa sorte[/quote]
cara, essa documentacao que você está vendo é para o NHibernate, para o .net.
Olhe a documentação correta.
Na documentação do hibernate para java, e na api cod tem:
Example example = Example.create(cat)
.excludeZeroes() //exclude zero valued properties
.excludeProperty("color") //exclude the property named "color"
.ignoreCase() //perform case insensitive string comparisons
.enableLike(); //use like for string comparisons
List results = session.createCriteria(Cat.class)
.add(example)
.list();
Tenho um relacionamento de localização com lote, onde 1 lote tem N localizações e 1 localização pertence a um lote. Porém esse relacionamento pode ser null, ou seja, a localização não precisamente precisa de um lote.
Com isso eu tenho uns criterios de busca, onde eu vou trago todas as coleções que tem 1 lote, porém quando esse lote é nulo não está trazendo nada.