私はJPA (Hibernate)
自分のプロジェクトで使用していますがJOIN
、間の関係を明示的に設定せずにクエリを作成することはできませんEntities
。
で同じことをしたことを覚えていTOPLINK
ます。
クエリ:
例1:
SELECT a FROM
EntityA a
INNER JOIN EntityB b on b.col1=a.col1
INNER JOIN EntityC c on c.col1=b.col1
LEFT JOIN EntityC c on c.col1=a.col1
エラー:
Unexpected token "on"
例2:
SELECT a FROM
EntityA a
INNER JOIN EntityB b
INNER JOIN EntityC c
LEFT JOIN EntityC c
WHERE b.col1=a.col1 AND c.col1=b.col1 AND c.col1=a.col1
エラー:
ERROR o.hibernate.impl.SessionFactoryImpl - Error in named query:
org.hibernate.hql.ast.QuerySyntaxException: Path expected for join!
[SELECT **MY QUERY HERE**]
at org.hibernate.hql.ast.QuerySyntaxException.convert
(QuerySyntaxException.java:54)
~[hibernate3.jar:na]
ERROR org.hibernate.hql.PARSER - Path expected for join!
ERROR org.hibernate.hql.PARSER - Invalid path: 'b.col1'
ERROR org.hibernate.hql.PARSER - Invalid path: 'c.col1'
もちろん実際の名前ではないので、エンティティ名と列名にはあまり注意を払わないでください:)
御時間ありがとうございます。