Estou com um problema ao transcrever uma consulta SQL para uma consulta EJB QL… Tentei de diversas formar transcrever a seguinte query:
select * from tecnico t
inner join tecnico_usina tu on t.tec_id = tu.tus_tec_id
join usina u on u.usi_id = tu.tus_usi_id
join orgao_usina ou on ou.ous_usi_id = u.usi_id
join orgao o on o.org_id = ou.ous_org_id
join orgao_usuario osu on osu.use_org_id = 1214;
select * from tecnico t
inner join t.tecnico_usina tu
join tu.usina u
join u.orgao_usina ou
join ou.orgao o
join o.orgao_usuario osu
where
osu.use_org_id = 1214;
L
llnunes
caio_ferreira:
Acho que ficaria assim
select * from tecnico t
inner join t.tecnico_usina tu
join tu.usina u
join u.orgao_usina ou
join ou.orgao o
join o.orgao_usuario osu
where
osu.use_org_id = 1214;
Olá caio_ferreira, obrigado por me ajudar … mas quando testei a solução que vc mandou foi me apresentado o seguinte erro:
"An exception occurred while creating a query in EntityManager:
Exception Description: Error compiling the query [select t from Tecnico t inner join t.TecnicoUsina tu join tu.Usina u join u.OrgaoUsina ou join ou.Orgao o join o.OrgaoUsuario osu where osu.useOrgId = :orgId; ], line 1, column 37: unknown state or association field [TecnicoUsina] of class [br.gov.ana.entities.Tecnico]."
Foi o mesmo que me foi apresentado em outras tentativas frustradas…
Você já se deparou com esse erro?
caio_ferreira
na sua classe Tecnico, existe esse campo TecnicoUsina? esse deve ser o nome da propriedade, não da classe.
M
magni
Fala llnunes
Tente o mesmo select enviado pelo caio_ferreira, mas em ves de colocar o nome das tabelas do banco, substituir pelo nome da classe e atributos, mais ou menos como no select abaixo…
select t from Tecnico t
inner join t.tecnico_usina tu
join tu.usina u
join u.orgao_usina ou
join ou.orgao o
join o.orgao_usuario osu
where
osu.use_org_id = 1214;
L
llnunes
Consegui :lol:
select t from Tecnico t
INNER JOIN t.tecnicoUsinaList tu
INNER JOIN tu.tusUsiId u
INNER JOIN u.orgaoUsinaList ous
WHERE ous.ousOrgId = 1214 ";