我想使用hibernate4-maven-plugin在SQL中生成数据库模式。
但我有一个条件:我想在时间生成3个模式:
这是我的配置:
<plugin>
<groupId>de.juplo</groupId>
<artifactId>hibernate4-maven-plugin</artifactId>
<version>1.0.3</version>
<executions>
<execution>
<goals>
<goal>export</goal>
</goals>
</execution>
</executions>
<configuration>
<hibernateDialect>org.hibernate.dialect.PostgreSQLDialect</hibernateDialect>
<!-- I want generate the schemas for these dialects too, at same time... -->
<!-- <hibernateDialect>org.hibernate.dialect.Oracle10gDialect</hibernateDialect>-->
<!-- <hibernateDialect>org.hibernate.dialect.SQLServerDialect</hibernateDialect>-->
<target>SCRIPT</target>
</configuration>
</plugin>
我查看官方文档(上面的链接),但如果可能或不可能,则不清楚。
有一种方法可以用hibernate4-maven-plugin做到这一点?
谢谢!
答案 0 :(得分:5)
您可以从插件中创建3个执行,每个执行使用特定的方言
<plugin>
<groupId>de.juplo</groupId>
<artifactId>hibernate4-maven-plugin</artifactId>
<version>1.0.3</version>
<executions>
<!-- postgres -->
<execution>
<id>postgres</id>
<goals>
<goal>export</goal>
</goals>
<configuration>
<hibernateDialect>org.hibernate.dialect.PostgreSQLDialect</hibernateDialect>
<target>SCRIPT</target>
<outputFile>${project.build.directory}/postgres-schema.sql.</outputFile>
</configuration>
</execution>
<!-- oracle -->
<execution>
<id>oracle</id>
<goals>
<goal>export</goal>
</goals>
<configuration>
<hibernateDialect>org.hibernate.dialect.Oracle10gDialect</hibernateDialect>
<target>SCRIPT</target>
<outputFile>${project.build.directory}/oracle-schema.sql.</outputFile>
</configuration>
</execution>
<!-- sql-server -->
<execution>
<id>sql-server</id>
<goals>
<goal>export</goal>
</goals>
<configuration>
<hibernateDialect>org.hibernate.dialect.SQLServerDialect</hibernateDialect>
<target>SCRIPT</target>
<outputFile>${project.build.directory}/sqlserver-schema.sql.</outputFile>
</configuration>
</execution>
</executions>