无法使用SchemaExport生成脚本文件

奥利弗·沃特金斯(Oliver Watkins)

我有一个非常简单的脚本为数据库生成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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章