Я просто тестировал свой код сегодня утром и обнаружил то, что, похоже, не могу решить.
В моем классе SKU есть настраиваемый генератор идентификаторов (заданный) для получения строки:
static mapping = {
id generator: 'assigned', name: 'sku'
}
Я создал объект SKU с идентификатором: 1234445 (обычно мой идентификатор SKU представляет собой смесь тире букв и цифр, но только для целей тестирования я использовал число как строку)
Теперь всякий раз, когда я пытаюсь выполнить SKU.get (1234445), я получаю следующую ошибку:
Указан идентификатор неправильного типа
Ожидается: класс java.lang.String, получил класс java.lang.Long
Очевидно, я предоставил String, почему-то он обрабатывает ее как Long при выполнении .get, следовательно, вызывает ошибку.
Любые идеи о том, как решить эту проблему, кроме использования строки, которая выглядит как номер для SKU.id (Sku.sku в моем случае)?