Во-первых, обычный комментарий: внешние ключи не используются в качестве первичных ключей.Это будет (и, вероятно, уже) причинит вам много головной боли.Если вы можете изменить его, измените его.
Тем не менее, ваша проблема в том, что вы добавили два генератора идентификаторов к сущности.Я предполагаю, что Grails поддерживает только один для каждой сущности (в конце концов, каждая сущность может иметь только один первичный ключ).
Я думаю, что вы смешиваете таблицу DB и отображение в своем уме.Отображение не использует идентификаторы.Он знает только о ссылках.То, что где-то есть идентификатор, не должно вас беспокоить.
На самом деле, для этого сопоставления вы не должны использовать какой-либо генератор идентификаторов.Идентификаторы назначаются автоматически при назначении экземпляров для полей.Если вам нужны генераторы идентификаторов, добавьте их в сопоставления для Account
и Supplier
.