Estou fazendo uma consulta usando Examples no Hibernate mas o SQL gerado por ele não bate com o esperado. Um exemplo é que habilitei o Example para trabalhar com like para Strings e a Query resultante sai mais ou menos assim:
Até aí tudo bem… Só que a passagem para o PreparedStatement é feito com ‘data’ quando o certo seria ‘%data%’ para o like funcionar.
Alguém sabe me dizer o porque do erro acontecer?? Não achei referencia nenhuma na documentação do hibernate.
Quando for usar o enableLike use assim, por exemplo:
Example example = Example.create(seuObjeto)
.enableLike(MatchMode.ANYWHERE);
[]´s
nicholas.bittencourt
Cara, até funcionou pro campo que tava dando problema. Mas existem outros campos na consulta que parecem estar sendo ignorados. Existe alguma outra configuração? O código que uso pra montar a Criteria segue abaixo:
Aproveitando o tópico, alguém sabe como posso fazer para fazer buscas por protótipo usando o Hibernate que incluam as classes mapeadas? Eu tentei fazer isso, mas vi no código do Hibernate com o Example ele verifica se o Type do objeto é um AssociationType, ou seja, uma classe mapeada e caso seja o exclui.
Exemplo: A classe Aluno tem uma turma. Eu preencho o atributo turma de aluno e mando fazer uma busca por aquele aluno. Ele não usará o atributo turma na consulta.
abraços!
bonfarj
Alguém sabe de algo sobre isso?
juniorsatanas
bonfarj me add no msn : [email removido] quanto tempo cara ! como ta as cosias ?
marcelo.bellissimo
nicholas.bittencourt:
Cara, até funcionou pro campo que tava dando problema. Mas existem outros campos na consulta que parecem estar sendo ignorados. Existe alguma outra configuração? O código que uso pra montar a Criteria segue abaixo:
Quais campos estão sendo ignorados? Se você ler a documentação, está descrito que ele ignora alguns campos mesmo, como por exemplo, os relacionamentos (FK's) ... se voce tiver algum atributo nessa sua classe que esteja mapeado como um relacionamento com outra classe, não irá funcionar mesmo... seria esse o caso ?
marcelo.bellissimo
bonfarj:
Aproveitando o tópico, alguém sabe como posso fazer para fazer buscas por protótipo usando o Hibernate que incluam as classes mapeadas? Eu tentei fazer isso, mas vi no código do Hibernate com o Example ele verifica se o Type do objeto é um AssociationType, ou seja, uma classe mapeada e caso seja o exclui.
Exemplo: A classe Aluno tem uma turma. Eu preencho o atributo turma de aluno e mando fazer uma busca por aquele aluno. Ele não usará o atributo turma na consulta.
abraços!
Não dá… voce tem que adicionar a criteria manualmente nesse caso…
L
luizhenrique.rolim
Que eu saiba não dá.
Aqui na empresa fiz um método que por reflection adiciona todas as entidades filhas ao exemplo de forma aninhada, mas infelizmente não posso repassar :(.
Basicamente, o que eu fiz, foi ir criando exemplos para cada método filho (getter) e adicionando a criteria principal.