Я уверен, что вы уже пришли к какому-то решению этой проблемы, но я столкнулся с той же проблемой сегодня, так что я подумал, что должен вмешаться.
В документации по Grails / Gorm, раздел 5.2.3, говорится, что «GORM поддерживает наследование как от абстрактных базовых классов, так и от конкретных постоянных сущностей GORM»
(http://www.grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20(GORM).html).
Интересно, что они не предоставляют пример абстрактного класса в примере для этого раздела.
Я пытался, имея абстрактный класс в моей иерархии (как вверху иерархии, так и далее вниз по одной из ветвей). Каждый раз, когда я пытался сохранить объект, который был подклассом чего-либо абстрактного, я получал молчаливый провал.
Сначала я удалил ключевое слово abstract из верхней части иерархии и получил более положительные результаты. Наконец, я удалил ключевое слово abstract из всех ветвей иерархии, и все заработало нормально.
Итак, мой вывод: на практике неверно, что вы можете использовать абстрактное ключевое слово в иерархии Горм.
Итак, моя запланированная иерархия была, например, для некоторых простых типов данных:
абстрактный тип <- конкретный текст <- конкретный URL
абстрактный Тип <- абстрактный Числовой <- конкретный Интеграл
абстрактный Тип <- абстрактный Числовой <- конкретный Десятичный </p>
должен был стать:
Тип бетона <- конкретный текст <- конкретный URL
Тип бетона <- бетон Числовой <- бетон Интеграл
тип бетона <- бетон числовой <- бетон десятичный </p>
даже если я не собираюсь создавать экземпляры Type или Numeric напрямую.
Для раскрытия информации я все еще использую Grails 1.1.2, пока не почувствую, что 1.2 достаточно стабилен.