Criar query com Join

Oie!

dando uma olhada no fourm e na net… só complicou mais minha duvida…

mas como eu crio uma query com join’s com clausula where??

tem como??

mt obrigado ^^’

ah! … ´para criar a query estou usando EntityManager

[]'s

Você está usando SQL, JPQL, Criteria, ou o que? =)

ah tah SQL

xD

eu criei a query assim

Query qry = em.createQuery("SELECT o from Objeto o INNER JOIN Logradouro ON Logradouro.idLogradouro = o.idLogradouro 
WHERE Logradouro.desclogradouro like :Logradouro");

mas deu execao falando que tolken “ON” não era esperado

valeeu pela atenção

cara, a clausula ON usando join eh a mesma coisa que a clausula WHERE, tira um deles q funciona.
tira o where e coloca apenas o on pra vc ver
tenta ae
abraco

  Query qry = em.createQuery("SELECT o from Objeto o INNER JOIN Logradouro ON Logradouro.idLogradouro = o.idLogradouro   
  AND Logradouro.desclogradouro like %Logradouro");  

Realmente o On e o Where nesse caso terão o mesmo sentido, ou usa um ou o outro, os dois juntos não.

Att.

dessa do on e where eu não sabia… aprendi join hj xD

mas intão

continua dando essa execao


org.hibernate.hql.ast.ErrorCounter reportError
SEVERE: line 1:54: unexpected token: ON

aih qndo eu substitui o ON por WHERE dá essa

[code] 06/11/2009 13:11:41 org.hibernate.hql.ast.ErrorCounter reportError
SEVERE: Path expected for join!
06/11/2009 13:11:41 org.hibernate.hql.ast.ErrorCounter reportError
SEVERE: Invalid path: 'null.idLogradouro’
06/11/2009 13:11:41 org.hibernate.hql.ast.ErrorCounter reportError
SEVERE: :0:0: unexpected end of subtree
06/11/2009 13:11:41 org.hibernate.hql.ast.ErrorCounter reportError
SEVERE: left-hand operand of a binary operator was null
06/11/2009 13:11:41 org.hibernate.hql.ast.ErrorCounter reportError
SEVERE: :0:0: unexpected end of subtree

[/code]

que complicado isso =/

valeu ^^

ele ta dando erro aki
Logradouro.idLogradouro
Logradouro ta vindo null… por isso q ta dando erro no on

SEVERE: Invalid path: ‘null.idLogradouro’

entendeu?

enteder eu entendi… só nao entendi porque está vindo null

tentei assim só

Query qry = em.createQuery("SELECT o from Objeto o INNER JOIN Logradouro l WHERE l.idLogradouro = o.idLogradouro AND l.descLogradouro like Logradouro");

agora nun tah vindo mais null… mas… não funciona ^^’

execao

06/11/2009 14:58:49 org.hibernate.hql.ast.ErrorCounter reportError
SEVERE:  Path expected for join!
06/11/2009 14:58:49 org.hibernate.hql.ast.ErrorCounter reportError
SEVERE:  Invalid path: 'l.idLogradouro'
06/11/2009 14:58:49 org.hibernate.hql.ast.ErrorCounter reportError
SEVERE: <AST>:0:0: unexpected end of subtree
06/11/2009 14:58:49 org.hibernate.hql.ast.ErrorCounter reportError
SEVERE:  left-hand operand of a binary operator was null
06/11/2009 14:58:49 org.hibernate.hql.ast.ErrorCounter reportError
SEVERE: <AST>:0:0: unexpected end of subtree

valeu ^^’ desculpa a enchecao de saco ^^’