ItemTag 对象包含一个 Item 对象和一个 Tag 对象。(这些是 Java 域对象。)
这个简单的查询按预期工作。我得到了一个 ItemTags 列表,并且可以做 ItemTags 应该做的所有美妙的事情:
def theTags1 = ItemTag.findAll("from ItemTag b")
例如:
println(theTags1[0].tag.tag)
正如预期的那样给了我这个:
Pilgrim's Progress
但是,只要我将另一个表添加到标准中,我就不会获得 ItemTag 的列表,而是获得通用对象的列表。
例如以下
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'
我需要做什么才能获得可用的对象?谢谢!