Удалить / удалить столбцы, используя спящий режим - PullRequest
4 голосов
/ 04 августа 2011

Я использую Oracle Timesten 11 DB, и мне нужно удалить столбец из моего приложения. Я попытался использовать SchemaUpdate в начале, но это не сработало. Затем я использовал метод execute SchemaExport для удаления столбца; Хотя столбец удаления был успешным, в конечном итоге он удалил все записи в таблице. Кроме того, я использую файл .jar в качестве входных данных для создания / удаления / изменения таблиц. Пожалуйста, помогите мне решить эту проблему.

1 Ответ

1 голос
/ 04 августа 2011

С моей точки зрения, JDBC - это то, что нужно, если DDL-операции - это то, что вы хотите выполнить из своего приложения.Целью SchemaUpdate должна быть синхронизация между вашей бизнес-моделью и физической структурой базы данных.

EDIT

Только что выяснилось, что вы, вероятно, обновили свою бизнес-модель (сущности), удаливи задаются вопросом, почему это не отражено в вашей БД.SchemaUpdate создаст новые столбцы (и таблицы), но не удалит те, которые удалены из ваших сущностей.

EDIT2

Затем я использовал метод execute SchemaExport для удаленияколонка;Несмотря на то, что столбец удаления был успешным, в конечном итоге он удалил все записи в таблице.

Кажется, что вы использовали стратегию экспорта схемы, которая не обновляется, вместо этого она удаляет существующие таблицы и создаетновые, когда создается SessionFactory (см. свойство Hibernate hibernate.hbm2ddl.auto, наиболее вероятное значение было установлено на create-drop).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...