У меня есть приложение, запущенное на данный момент (без проблем) на JBoss 6, которое я пытаюсь обновить для работы на WildFly 10.1. Большая часть этого обновления идет хорошо. Однако обновление с Hibernate 3.4 (на JBoss 6) до Hibernate 5.1 (на WildFly 10.1) вызывает несколько проблем.hibernate.hbm2ddl.auto value = "update" проблема с миграцией Hibenate от 3.4 до 5.1
В частности, в моем persistence.xml, я включаю следующее свойство.
ОБРАТИТЕ ВНИМАНИЕ: Я НЕ произвожу какие-либо схемы или другие изменения БД в рамках обновления. Кроме того, я указываю на тот же экземпляр базы данных, который был успешно запущен под экземпляром JBoss 6/Hibernate 3.4. Поэтому я уверен, что включение этого свойства не должно иметь никакой фактической работы/обновления для первого запуска с версией WildFly 10.1/Hibernate 5.1.
Однако включение этого свойства в 1) ошибочно определяет, что ему необходимо делать обновления, и 2) не удается сделать это успешно. Это приводит к следующей трассировки стека:
Failed to start service jboss.persistenceunit."app.ear#PU": org.jboss.msc.service.StartException in service jboss.persistenceunit."PU": javax.persistence.PersistenceException: [PersistenceUnit: PU] Unable to build Hibernate SessionFactory
...
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: PU] Unable to build Hibernate SessionFactory
...
Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Unable to execute schema management to JDBC target [create index company_id_index on APPROVER (COMPANY_ID)]
...
Caused by: org.postgresql.util.PSQLException: ERROR: relation "company_id_index" already exists
Опять же, таблица и индекс в вопросе уже существует (как подтверждено окончательной ошибкой).
Hibernate теперь больше не чувствителен к регистру (COMPANY_ID_INDEX отличается от company_id_index)?
Если да, то как я могу настроить его так, чтобы он не чувствителен к регистру, как это было (Postgres по умолчанию все это ниже ....)
ТИА!