Hibernate 逆向工程主键(EmbeddedId 到 IdClass)
我正在使用 hbm2java (hibernate3-maven-plugin) 来生成实体。
如何将自动生成的@EmbeddedId切换为@IdClass?
谢谢
I am using hbm2java (hibernate3-maven-plugin) in order to generate entities.
How do I switch the auto generated @EmbeddedId to @IdClass?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
hibernate maven 插件不会自动执行此操作,如果您想使用@IdClass,您需要手动更新您的类。
The hibernate maven plugin doesn't do that automatically, you need to update your classes manually if you want to use @IdClass.
我没有尝试跟随。但根据我一直在使用 Hibernate 逆向工程工具的情况,我认为通过使用 reveng.xml 文件应该可以实现。
在你的 pom 文件中。
并在 reveng.xml 中指定到 IdClass 的类型映射(请参阅 Hibernate 工具文档 http://docs.jboss.org/tools/3.1.0.GA/en/hibernatetools/html_single/index.html#type_map 或 http://docs.jboss.org/tools/3.1.0。 GA/en/hibernatetools/html_single/index.html#d0e5869)。
如前所述,我还没有尝试过。
由于各种其他原因,我放弃了使用逆向工程。一个问题是 Hibernate 工具不兼容 Hibernate 3.5 及更高版本。此外,Maven 插件是第三方的,并且使用较旧版本的 Hibernate 工具,而不是一般可用的工具。所以我也遇到了必须从Maven调用ant来进行逆向工程的情况。
I have not tried to following. But from what I have been working with Hibernate reverseengineering tool I think it should be possible by using a reveng.xml file.
In your pom file.
And in the reveng.xml specify the type mapping to the IdClass (see Hibernate tools documentation http://docs.jboss.org/tools/3.1.0.GA/en/hibernatetools/html_single/index.html#type_map or http://docs.jboss.org/tools/3.1.0.GA/en/hibernatetools/html_single/index.html#d0e5869).
As mentioned, I have not tried it.
For various other reason I gave up on using reverse engineering. One problem is that hibernate tools is not compliant with Hibernate 3.5 and above. Furthermore the Maven plugin is third party and uses an older versions of Hibernate tools, than the one general available. So I also came into the situation where I had to call ant from Maven to do the reverse engineering.