С моей точки зрения, JDBC - это то, что нужно, если DDL-операции - это то, что вы хотите выполнить из своего приложения.Целью SchemaUpdate должна быть синхронизация между вашей бизнес-моделью и физической структурой базы данных.
EDIT
Только что выяснилось, что вы, вероятно, обновили свою бизнес-модель (сущности), удаливи задаются вопросом, почему это не отражено в вашей БД.SchemaUpdate создаст новые столбцы (и таблицы), но не удалит те, которые удалены из ваших сущностей.
EDIT2
Затем я использовал метод execute SchemaExport для удаленияколонка;Несмотря на то, что столбец удаления был успешным, в конечном итоге он удалил все записи в таблице.
Кажется, что вы использовали стратегию экспорта схемы, которая не обновляется, вместо этого она удаляет существующие таблицы и создаетновые, когда создается SessionFactory (см. свойство Hibernate hibernate.hbm2ddl.auto
, наиболее вероятное значение было установлено на create-drop
).