select
…
this_.cod_usuario_alteracao as cod12_7_0_,
this_.ind_bloqueado as ind13_7_0_
from
admin.tb_cidade this_
where
uff1_.nom_uf=?
Pq o hibernate nao faz o join entre as tabelas?? Meu relacionamento esta certo, o mapemaneto tbm. Se eu fiz essa consulta via hql funciona, pq via criteria nao? Help
Pelo que vi aí… o uff1_.nom_uf não existe…ou voce não declarou ele no select
M
mateusprado
posta sua CidadeBean.
qual é sua classe persistente? é CidadeBean ou ela é um Bean?
ta meio confuso isso.
valew
V
von.juliano
Você precisa criar uma subCriteria:
Criteria ct = gd.getSession().createCriteria(CidadeBean.class).createCriteria("uf");
ct.add(Restrictions.eq("nomUf", "Alagoas"));Acho que assim vai funcionar, testa ae depois fala se resolveu.
Flw! :thumbup:
M
mizael86
CidadeBean tem relacionamento com UfBean. uf é um atributo many to one de cidadebean, o que quero é consultar cidade bean pelo nome da uf, ai o hibernate simplemente procura nom_uf em cidadebean, mais deveria procurar em ufbean, que eh dela q pertence. realmmente nom_uf nao eh de cidadebean, eh de ufbean, mais o burro do hibernate nao faz o join na consulta, sera isso um bug?
M
mizael86
von.juliano
funcionou tbm nao, na api do hibernate essa eh exatamente a segunda opcao para esse tipo de consulta, mais tbm nao funcionou
agora sera q esse problema eh por uf ser um compisite id?
M
mizael86
Hummmm, percebi que é pq eh um compisite id. E agora, qual sera a solucao?
V
von.juliano
Engraçado, eu testei com uma classe aqui nas mesmas condições e funcionou. Posta o erro que gera com a alteração que eu escrevi acima, e o select que o hibernate gera.
Flw! :thumbup:
M
mizael86
von.juliano
Realmente funciona, so nao esta funcionando quando o relacionamento eh key-many-to-one, ou seja, eh uma chave composta.
CidadeBean é composta de codCidade e uf(key-many-to-one)
Quando eu tento fazer o criteria na uf, ele da pau, agora se eh um relacionamento simples(many-to-one) funciona.