Bom dia Pessoal,
Estou com problemas pra efetuar essa query, está ocorrendo o seguinte log abaixo.
Alguém poderia me ajudar?
Meu relacionamento de Vacancies para Recruiter é @ManyToOne.
Obrigado
Query q = em.createQuery(“select v from Vacancies v INNER JOIN v.Recruiter r”
+ “where r.segmento =:paramsegmento and v.id_rec = r.id_rec”).setParameter
(“paramsegmento”, segmento);
return q.getResultList();
java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: r near line 1, column 81 [select v from br.com.vacancies.entity.Vacancies v INNER JOIN v.Recruiter rwhere r.segmento =:paramsegmento and v.id_rec = r.id_rec]
mudou o erro…rs
esse erro já tinha acontecido anteriormente também, mas não consegui detectar a causa.
java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: Recruiter of: br.com.vacancies.entity.Vacancies [select v from br.com.vacancies.entity.Vacancies v INNER JOIN v.Recruiter r where r.segmento =:paramsegmento and v.id_rec = r.id_rec]
java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: id_rec of: br.com.vacancies.entity.Vacancies [select v from br.com.vacancies.entity.Vacancies v INNER JOIN v.recruiter r where r.segmento =:paramsegmento and v.id_rec = r.id_rec]
Revendo sua classe, pq vc está fazendo esse inner join?? Em relacionamentos …ToOne a entidade já traz o join automático, pois o FetchType padrão é EAGER. Não é preciso replicar na query.
select v from Vacancies v where v.recruiter.segmento = :paramsegmento
Creio que esta jpql tenha o mesmo resultado que vc deseja.