to tentando acessar um objeto numa consulta HQL. Olha so como tah minha query:
Queryq=sessao.createQuery("from TrocaTurno t where t.situacaoProcessoIEV = :situacao AND "+"t.periodoLetivo = :periodo AND "+"t.vinculo.programaFormacao = :programa");
Onde o objeto vinculo pertence a minha classe trocaturno e o objeto programaFormacao pertence ao objeto vinculo, como tah ai em cima. Eu preciso fazer uma comparacao entre o objeto de programa formacao. Mas o hibernate tah dizendo que tah errado! Eu lembro que jah fiz assim antes! Alguem tem alguma sugestao?
Ele diz que nao existe a propriedade “t.vinculo.programaFormacao”! Eu to achando que ele tah interpretando como uma variavel so!
flw!
K
kopcheskiPJ
Na sua classe TrocaTurno, como estão definidas estes tres atributos que voce faz referencia no seu hql?
G
Guilherme_MelloPJ
Certifique-se de que a propriedade t.vinculo.programaFormacao existe na classe TrocaTurno.
A
absolutionPJ
na minha classe TrocaTurno eu tenho o atributo “vinculo” e na minha classe Vinculo eu tenho o atributo “programaFormacao”. Eu queria acessar “programaFormacao” a partir do hql mostrado acima
flw!
[/code]
K
kopcheskiPJ
Queryq=sessao.createQuery("from TrocaTurno t, Vinculo v where t.situacaoProcessoIEV = :situacao AND "+"t.periodoLetivo = :periodo AND "+"v.programaFormacao = :programa");
vinculo.programaFormacao nao faz parta da sua classe TrocaTurno, entao vc nao consegue acessá-lo através dela. Por isso t.vinculo.programaFormacao nao eh encontrado.
Veja se isto funciona.
A
absolutionPJ
ai a query entra em conflito., como ele vai saber se eh para pegar o objeto TrocaTurno ou Vinculo? Eu tentei fazer assim:
Queryq=sessao.createQuery("select t from TrocaTurno t, Vinculo v where t.situacaoProcessoIEV = :situacao AND "+"t.periodoLetivo = :periodo AND "+"t.vinculo = v AND "+"v.programaFormacao = :programa");
e ainda da problema! diz q consulta tah mal formada! Como eu faco uma consulta como esta?
K
kopcheskiPJ
Coloque então um atributo na sua classe TrocaTurno que receba o valor do atributo programaFormacao da sua classe Vinculo. Dessa forma, vc nao faz referencias a duas classes.