Ответ 1
Изменить: проблема решена! Выполнение этого в конфигурации YAML в настоящее время работает: (Dropwizard 0.7.1)
database:
properties:
hibernate.dialect: org.hibernate.dialect.MySQLDialect
hibernate.hbm2ddl.auto: create
(from этот ответ)
Старый ответ:
Это то, что я сейчас использую: класс, который вызывает hibernate SchemaExport для экспорта схемы в файл SQL или для изменения базы данных. Я просто запускаю его после изменения моих объектов и перед запуском приложения.
public class HibernateSchemaGenerator {
public static void main(String[] args) {
Configuration config = new Configuration();
Properties properties = new Properties();
properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
properties.put("hibernate.connection.url", "jdbc:mysql://localhost:3306/db");
properties.put("hibernate.connection.username", "user");
properties.put("hibernate.connection.password", "password");
properties.put("hibernate.connection.driver_class", "com.mysql.jdbc.Driver");
properties.put("hibernate.show_sql", "true");
config.setProperties(properties);
config.addAnnotatedClass(MyClass.class);
SchemaExport schemaExport = new SchemaExport(config);
schemaExport.setOutputFile("schema.sql");
schemaExport.create(true, true);
}
}
Я раньше не знал о спящих инструментах. Таким образом, этот пример кода может использоваться в инициализации службы, чтобы действовать как hbm2ddl.auto = create
.
В настоящее время я использую его, просто запустив класс (из eclipse или maven) для создания и просмотра выходного SQL.