Трудно найти ответ на этот вопрос в документации Grails, книге GIA или SO.
Я прививаю Grails к устаревшей базе данных. У меня есть две таблицы, и их связь друг с другом находится в существующей таблице соединений внешних ключей.
Из того, что я читал, кажется, что с аргументом joinTable вы можете указать какое поле из исходной таблицы используется в таблице соединения, но не имя столбца внешнего ключа < / strong> в таблице соединений. Одна таблица в этой базе данных следует соглашению (таблица видео имеет столбец идентификатора, а в таблице объединения называется «video_id»; другая таблица - нет (таблица PublisherCategory имеет столбец идентификатора, но представлена в таблице объединения как «category_id» . "
Когда Grails запускается, он жалуется либо на повторяющиеся поля «id», либо на несуществующее поле в таблице соединения. (Мне не ясно из документов, является ли аргумент столбца в joinTable именем столбца в этом классе, который используется в качестве внешнего ключа, или, если он предназначен для имени внешнего ключа, как он отображается в joinTable. Я работал над убеждением, что это первое.)
Я также попытался создать класс предметной области для представления самой таблицы соединений с отношениями hasMany для обеих исходных таблиц, но Grails это тоже не понравилось. (Требуется, чтобы одна сущность была «владельцем», но установка любого домена в качестве владельца не сработала.)
Какие-либо предложения?