如何在Maven中使用hbm2ddl工具?
问题描述:
我想使用Maven的Hibernate3插件(由Codehaus开发),但根据上次发布日期(2009-01-21),似乎没有得到积极的支持。我需要使用Hibernate提供的hbm2ddl工具。你怎么看?如何在Maven中使用hbm2ddl工具?
哪里提供了hbm2ddl工具?我猜这不是包含它的Hibernate3 Maven插件,但它包含在hibernate依赖项中?
感谢
答
也许你已经发现,与2.2版本结束旧插件的网站。看看这个网站: http://mojo.codehaus.org/hibernate3-maven-plugin/
正如你所看到的,有2个月前发布的3.0版本。我们在Hibernate 3.5的项目中使用它,它工作得很好,做它应该做的事情。
Hibernate不需要提供给插件(至少直接),因为在封面下这个东西使用Hibernate3 Ant任务(来自hibernate-tools
工件)和Maven AntRun插件。所以插件对Hibernate(3.3.2.GA版本)本身具有依赖性。正如我所说的那样,我们在Hibernate 3.5中没有任何问题地使用它。
答
如果你想使用就是hbm2ddl电流休眠(5 +),以更好的质量生成的模式,那么请看看项目:
https://github.com/Devskiller/hbm2ddl-maven-plugin
简单的用例
<build>
<plugins>
<plugin>
<groupId>com.devskiller.hbm2ddl-maven-plugin</groupId>
<artifactId>hbm2ddl-maven-plugin</artifactId>
<version>0.9.2</version>
<extensions>true</extensions> <!-- required to run automatically -->
<configuration>
<packages>
<package>com.test.model</package>
</packages>
</configuration>
</plugin>
</plugins>
</build>
谢谢,的确我在旧网站。那么,Ant任务使用Hibernate 3.3.2.GA?我想从版本3.3.2.GA开始,一些映射更改已经完成。因此,在使用hbm2ddl生成模式时不会考虑它们? – 2012-04-04 13:22:27
不幸的是,这次我帮不了你。我不知道映射是否真的发生了变化。我甚至没有尝试强制使用更新的Hibernate版本。对我们来说它是有效的,所以我们不再触摸它:P。 – 2012-04-04 20:37:51