Я знаю, что это слишком поздно, и каждый из них получил ответ. Но еще немного добавить к этому: когда установлен GenerateType, для объекта persist () ожидается получение сгенерированного идентификатора.
Если для пользователя уже задано значение Id, hibernate рассматривает его как сохраненную запись и поэтому он обрабатывается как отдельный.
если идентификатор равен нулю - в этой ситуации исключение нулевого указателя возникает, когда тип имеет тип AUTO или IDENTITY и т. Д., Если идентификатор не генерируется из таблицы или последовательности и т. Д.
design: это происходит, когда таблица имеет свойство bean-компонента в качестве первичного ключа.
GenerateType должен быть установлен только тогда, когда идентификатор генерируется автоматически.
удалите это, и вставка должна работать с идентификатором, указанным пользователем.
(плохой дизайн иметь свойство, сопоставленное с полем первичного ключа)