Объекты ItemTag содержат объект Item и объект Tag. (Это объекты домена Java.)findAll() Не возвращает правильный тип объекта
Этот простой запрос работает так, как ожидалось. Я вернусь список 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'
Что мне нужно сделать, чтобы получить пригодных для использования объектов? Благодаря!
Это именно то, что мне нужно. Только для полноты, чтобы получить тег, я использую: (тег) theTags2 [0] [1] –