ItemTag オブジェクトには、Item オブジェクトと Tag オブジェクトが含まれます。(これらは Java ドメイン オブジェクトです。)
この単純なクエリは期待どおりに機能します。リスト ItemTags を取得し、ItemTags が実行するはずのすべての素晴らしいことを実行できます。
def theTags1 = ItemTag.findAll("from ItemTag b")
例えば:
println(theTags1[0].tag.tag)
期待どおりに私にこれを与えます:
Pilgrim's Progress
ただし、条件に別のテーブルを追加するとすぐに、ItemTags のリストを取得する代わりに、汎用オブジェクトのリストを取得するだけです。
たとえば、次の
def theTags2 = ItemTag.findAll("from ItemTag b, Tag a where b.tag= a")
theTags2.each {
theClass = it.getClass();
nameOfClass = theClass.getName();
println(nameOfClass)
}
戻り値
[Ljava.lang.Object;
[Ljava.lang.Object;
[Ljava.lang.Object;
結果のオブジェクトはまったく使用できません。例えば:
println(theTags2[0].tag.tag)
このエラーが表示されます:
Exception evaluating property 'tag' for java.util.ArrayList, Reason: groovy.lang.MissingPropertyException: No such property: tag for class: java.lang.String
と
def exTag2 = (ItemTag) theTags2[0]
このエラーが表示されます:
Cannot cast object '[Ljava.lang.Object;@2d81f' with class '[Ljava.lang.Object;' to class 'org.maflt.flashlit.pojo.ItemTag'
使用可能なオブジェクトを取得するにはどうすればよいですか? ありがとう!