Проблема с сопоставлением устаревших таблиц grails с SQL Server

#sql-server #hibernate #grails #grails-domain-class

#sql-server #спящий режим #grails #grails-domain-class

Вопрос:

У меня есть 2 устаревшие таблицы в SQL Server:

Это мои классы домена для этих таблиц

Когда я пытаюсь вставить Taladro в базу данных с использованием динамических лесов, происходит сбой с этой ошибкой:

ОШИБКА использования.JDBCExceptionReporter — не удается вставить значение NULL в столбец ‘proyecto_id’, таблица ‘Портал.Столбец ORECONTROL.TALADROS’; не допускает нулевых значений. ОШИБКА вставки.

Я меняю имя внешнего ключа с id_proyecto на IdMalla, как в устаревших таблицах (см. http://ur1.ca/hl1mw ).

Я использую SQL Server 2008 в качестве сервера базы данных

Ответ №1:

Кажется, что теперь у вас есть столбец proyecto_id в TALADROS таблице с ненулевым ограничением. В объекте домена Taladro вы указали сопоставление столбцов ассоциации как 'IdMalla' вместо значения по умолчанию 'proyecto_id' . Очевидно, это означает, что столбец proyecto_id не заполнен, и поскольку он имеет ограничение not-null, вы получаете эту ошибку.

Ответ №2:

Я могу решить проблему, переименовав классы домена с именем таблиц в базе данных и изменив имя внешнего ключа на «IdMalla». Спасибо всем за ответы