У меня есть такой класс:
class Foo {
String bar
}
Я пытаюсь получить идентификаторы всех объектов Foo
, чьи bar
строки находятся в списке bars
. Я пробовал это несколькими способами, всегда получая одну и ту же ошибку:
java.lang.String cannot be cast to java.util.Collection
Кое-что из того, что я пробовал:
def ids = Foo.findAllByBarInList( bars )*.id
def ids = Foo.findAllByBarInList( bars ).collect{ it.id }
def ids = Foo.findAllByBarInList( bars ).collect{ it -> it?.id }
ОБНОВЛЕНИЕ:
Я делал bars
с разбиением , так что это был массив, а не список. Это сбило меня с толку, потому что Foo.findAllByBarInList( bars )
отлично вернул мои Foo
объекты, только когда я попытался собрать идентификаторы, это не удалось. Теперь я делаю bars
с tokenize вместо этого, и все хорошо.