次のHQLクエリを書いています。
select a.col1, a.col2 from MyEntity a
しかし、Hibernate はこのクエリを次のように作成します。
select a.col1, a.col2 from in.xxx.yyy.zzz.MyEntity a
ここで、.xxx.yyy.zzz は、hbm.xml ファイルに記載されている MyEntity のパッケージ名です。hibernate がこのクエリを実行すると、次のエラーが発生します。
org.hibernate.hql.internal.ast.QuerySyntaxException: expecting OPEN, found '.' near line 1, column 264
パッケージ名の「in..」をINキーワードと見なし、そこに何らかの値を期待していると思います。
質問は、HQL で単純な名前を使用しているときに、休止状態がこのエンティティに完全修飾パス名を使用しているのはなぜですか?
特別なキーワードを持つエンティティ名をエスケープできますか?