В моем приложении Grails у меня есть служба, которая создает и сохраняет ряд объектов домена. Вот пример код ниже:Объект домена Grails не может сэкономить, поскольку ID равен
for (int i = 0; i < notes.size(); i++) {
Note newNote = new Note()
newNote.description = notes[i].description
newNote.displayDate = notes[i].displayDate
newNote.book = book
newNote.save()
}
Моя экономия терпит неудачу с этой ошибкой:
ERROR util.JDBCExceptionReporter - NULL not allowed for column "FUND_ID";
Я создание и сохранением объектов домена во многих других местах, просто отлично. В чем проблема?
Ниже класс Примечание:
class Note {
String description
Date displayDate
static belongsTo = [book: Book]
}
'FUND_ID' нет где указано в классе домена, как оно отображается? Можете ли вы показать точный класс домена, включая «Книгу»? Если Book является владельцем отношений, создается ли она сначала и добавляется в 'Note', например' book.addTo * '? – dmahapatro
FUND_ID автоматически добавляется Grails в качестве первичного ключа таблицы FUND. Он должен обрабатывать генерирование своего значения автоматически. Книга добавляется к объекту Note, как показано выше, в «newNote.book = book» – user1007895
Первичным ключом, добавленным Grails, будет ID. Не FUND_ID. Похоже, у вас есть обычная схема именования. Вставить класс домена –