Я не могу обновить таблицы базы данных с помощью Hibernate? - PullRequest
0 голосов
/ 08 декабря 2018

Я хотел обновить схему базы данных, добавив новые таблицы.Но спящий режим ничего не делает.Моя база данных остается неизменной каждый раз, даже когда я изменяю свойство для создания.Но это ничего не изменит.И это случилось впервые.Я добавил аннотацию и все, что нужно, и ничего не произошло.

Ответы [ 2 ]

0 голосов
/ 08 декабря 2018

Прежде всего убедитесь, что в вашем файле постоянства добавлены классы сущностей, добавленные в класс

<Class>path.EntityName </Class>

Во-вторых, в файле постоянства также должно быть установлено свойство обновления:

<property name="hibernate.hbm2ddl.auto" value="update"/> 

Однако указанное выше свойство не работает в следующих случаях:

  • hibernate.hbm2ddl.auto "value =" update "добавит столбец БД, который еще несуществует, но не удалит столбец БД, который удален / больше не существует в вашей сущности.
  • hibernate.hbm2ddl.auto "value =" update "не изменит столбец БД, который уже был создан.
  • hibernate.hbm2ddl.auto "value =" update "не изменит определения существующих столбцов таблицы.

Вам потребуется создать резервную копию данных таблицы, удалить их и перезапустить приложение, чтобы получитьсхема этой таблицы снова синхронизируется с вашей сущностью. Затем перезагрузите данные. Или вы можете сделать это вручную с помощью запросов SQL к таблицам базы данных.

0 голосов
/ 08 декабря 2018

Добавить конфигурацию гибернации:

<prop key="hibernate.hbm2ddl.auto">create</prop>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...