我有一个非常简单的脚本为数据库生成DLL:
public static void main(String[] args) {
Map<String, String> settings = new HashMap<>();
settings.put("connection.driver_class", "com.mysql.jdbc.Driver");
settings.put("dialect", "org.hibernate.dialect.MySQLDialect");
settings.put("hibernate.connection.url", "jdbc:mysql://localhost:3306/mydatabase");
settings.put("hibernate.connection.username", "root");
settings.put("hibernate.connection.password", "root");
settings.put("hibernate.show_sql", "true");
settings.put("hibernate.format_sql", "true");
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
.applySettings(settings)
.build();
MetadataSources metadata = new MetadataSources(serviceRegistry);
metadata.addAnnotatedClass(AddressEntity.class);
metadata.addAnnotatedClass(CompanyEntity.class);
EnumSet<TargetType> enumSet = EnumSet.of(TargetType.DATABASE);
SchemaExport schemaExport = new SchemaExport();
schemaExport.setOutputFile("myScript.sql");
schemaExport.execute(enumSet, SchemaExport.Action.BOTH, metadata.buildMetadata());
}
如果我查看DEBUG和INFO信息,则它正在工作。我可以看到DLL语句已被打印出来。
我唯一的问题是将其导出到文件中。我已经尝试了一切,但是setOutputFile似乎对我不起作用。我无法生成脚本。
这行:
EnumSet<TargetType> enumSet = EnumSet.of(TargetType.DATABASE);
应该更正为:
EnumSet<TargetType> enumSet = EnumSet.of(TargetType.SCRIPT);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句