Eu to começando a mexer com java e me passaram pra mexer com hibernate, mas to com alguns problemas. Será que vcs poderiam
me ajudar?
eu to tentando criar uma query mais ou menos assim:
[code]
select o from Order o left join o.items item
where item.nbItem = 1;
[code]
mas ele tá retornando os "orders" com todos os "items".
A classe Order tem uma List de itens.
Então eu gostaria de carregar o "order" com um único "item" da lista
que é o 1.
select o from Order o
where o.items.item.nbItem = 1;
Pode ser q de algum erro de HQL, mas acho q o caminho eh mais ou menos esse
TedLoprao
A princípio ele vai trazer todos os itens mesmo, afinal vc está buscando a ordem e ela virá completa…
Se vc quer fazer isso ao invés de pegar a ordem, pegue o item diretamente e depois, a partir do item vc chega na ordem!
Fallow
V
viviane
oi,
como sou novata nisto, nao estou sabendo onde procurar estas coisas.
A query que vc me disse pra fazer realmente deu erro:
expecting ‘elements’ or ‘indices’ after: item
eu to procurando sobre estes items, mas nao sei se eh isto que eh
necessario pra fazer o que eu preciso.
brigadinha
TedLoprao
Eu acho que realmente vc terá que fazer a consulta do item diretamente, acredito q o hibernate não irá montar um objeto quebrado para vc…
A ídéia de consultar o item diretamente não resolve?
V
viviane
oi,
entendi o que vc quis dizer. tem um probleminha.
na classe Order tem outro list que tambem de atributo que é usado
no filtro. entao, por um lado eu consigo fazer oq vc disse, resolvendo
esta parte, mas dai, como tem outro list no order, cai no meu problema.
mas obrigada pela ajuda
to aprendendo muito!!
TedLoprao
Outra coisa que vc pode fazer é trazer o Order e separar os itens após estar com ele completo…[/img]
V
viviane
tipo fazer o trabalho no Java, depois de persistir os dados da collection??
TedLoprao
Isso, vc seleciona o Order e pega as listas que vc precisa, percorre as mesmas e retira os itens que vc quiser e pronto!
Vc pode usar inclusive algo como o commons-jxpath para navegar no seu grafo de objetos, caso se torne muito complexo utilizar apenas iterar pelas listas.