Я получаю это исключение из Hibernate
строительная сессия фабрики 13: 32: 09,937 INFO SessionFactoryObjectFactory: 105 - Не привязана фабрика к JNDI, имя JNDI не настроено Исключение в потоке "main" org.hibernate.HibernateException: в базе данных не возвращено значение сгенерированного идентификатора
Что это значит и как я могу это решить? Спасибо!
Я думаю, это означает, что вы пытаетесь использовать генератор IDENTITY ID со столбцом таблицы, который не настроен должным образом.Это должен быть столбец auto_increment для работы генератора IDENTITY.Иначе, база данных не возвращает сгенерированный идентификатор.
Мы должны auto_increment столбец id таблицы, используя следующий запрос
auto_increment
id
ALTER TABLE document MODIFY COLUMN document_id INT auto_increment
И исправить это так же просто, как убедиться, что для столбца первичного ключа в таблице, с которой вы работаете, установлено автоматическое увеличение.
При создании таблицы в базе данных вы, возможно, забыли задать автоинкремент для этого конкретного столбца.
Или
Вы забыли аннотировать в классе Java как "Сгенерированное значение"
Это будет нормально работать
В таком случае вам не нужно создавать таблицу вручную. Он будет создан по умолчанию с использованием Hibernate. внести изменения или добавить в hibernate.cfg.xml >> поле «hibernate.hbm2ddl.auto», установленное в «update».
Другой способ исправить это - установить Auto_Increment для столбца ID таблицы