生成与Hibernate 4的SQL数据库创建脚本 [英] Generate an SQL DB creation script with Hibernate 4

查看:262
本文介绍了生成与Hibernate 4的SQL数据库创建脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们目前正在使用Hibernate 3,我们使用Hibernate工具生成的SQL脚本的DB模式。

We are currently using Hibernate 3 and we use Hibernate Tools to generate SQL scripts for the DB schema.

我们使用以下Ant任务

We use the following Ant task

<hibernatetool destdir="${target}">
    <jpaconfiguration persistenceunit="@{persistenceUnit}" propertyfile="@{propertyfile}"/>
    <classpath refid="@{classpathid}"/>
    <!-- the file name is relative to $destdir -->
    <hbm2ddl outputfilename="@{output}" format="true" export="false" drop="false"/>
</hibernatetool>

我们想切换到休眠4:我们如何才能达到类似的东西不用Hibernate的工具

We would like to switch to Hibernate 4: how can we achieve something similar without Hibernate tools?

推荐答案

您可以直接使用SchemaExport类来生成DDL脚本:

You can directly use the SchemaExport class to generate the DDL script :

Configuration config = new Configuration();

Properties properties = new Properties();

properties.put("hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect");
properties.put("hibernate.connection.url", "jdbc:postgresql://localhost:5432/Test"); 
properties.put("hibernate.connection.username", "username");
properties.put("hibernate.connection.password", "password");
properties.put("hibernate.connection.driver_class", "org.postgresql.Driver");
properties.put("hibernate.show_sql", "true");
config.setProperties(properties);

config.addAnnotatedClass(MyMappedPojo1.class);
config.addAnnotatedClass(MyMappedPojo2.class);
..................

SchemaExport schemaExport = new SchemaExport(config);
schemaExport.setDelimiter(";");

/**Just dump the schema SQLs to the console , but not execute them ***/
schemaExport.create(true, false);

这篇关于生成与Hibernate 4的SQL数据库创建脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆