2010-12-03 5 views
0

私は次のモデルがあります:HQLクエリ:見つからないカラム:SQLGrammarException

class A{ 
    Map<String, Integer> tags 
} 

class B{ 
    A a; 
} 

を、私はそれに関連するAはそのタグマップ

で特定のキー値を持つBのインスタンスを検索する必要があります

私は、次のHQLクエリ

FROM B WHERE index(a.tags) = 'the_value' 

を発行残念ながら、これはSQLGrammarExceptionに得られます。建設中 問合せは、で終わるWHERE句があります。

をしてtags2_.tags_idx = 'the_value'

と例外メッセージが見つかりません

コラムです:TAGS2_。 TAGS_IDX

残念ながら、エイリアスtags2_は前に宣言されていません。 e例外。

アイデア?

よろしく

答えて

0
不在の別名わから

ないが、私はあなたがこの場合は、次の構文を必要とする推測:

FROM B WHERE 'the_value' IN INDICES(a.tags) 

も参照してください:

0

このようなものを試すことができますか?

from B b join b.a a where index(a.tags) = 'the_value' 

または多分:

from B b where index(b.a.tags) = 'the_value' 
関連する問題