从 hibernate 生成时更改 POJO 名称
我想知道如何在使用 hibernate 生成 POJO 时更改它的名称。
我的表的命名约定为:FR_ 和 TRN_。 在生成 POJO 时,我希望删除 FR 和 TRN 并将 VO 附加到名称中。
例如,
表名:FR_ACCOUNT_MST
要生成的POJO:accountMstVO
谢谢, 瓦伦
I'd like to know how i can change the name of my POJO when generating it using hibernate.
My tables have a naming convention of : FR_ and TRN_.
While generating the POJOs I'd like the remove the FR and TRN and append VO to the name.
For example,
Table name: FR_ACCOUNT_MST
POJO to be generated: accountMstVO
Thanks,
Varun
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,您必须扩展 DelegatingReverseEngineeringStrategy 类(hibernate-tool.jar lib)并重写 tableToClassName 方法。
下面的代码会将 FR_ACCOUNT_MST 重命名为 FR_ACCOUNT_MSTVO。
我让你使用一些正则表达式来获得想要的结果。
变量className包含包+类名(即com.mycompany.project.hibernate.FR_ACCOUNT_MST)
来源:http://www.cereslogic.com/pages/2008/08/05/hibernate-tools-tips-for-reverse/
Right, you have to extend the DelegatingReverseEngineeringStrategy class (hibernate-tool.jar lib) and override tableToClassName method.
The code below will rename FR_ACCOUNT_MST to FR_ACCOUNT_MSTVO.
I let you use some regex to get the result wanted.
The variable className contains the package + class name (ie. com.mycompany.project.hibernate.FR_ACCOUNT_MST)
Source: http://www.cereslogic.com/pages/2008/08/05/hibernate-tools-tips-for-reverse/
或者您可以通过在 hibernate.reveng.xml 文件中添加每个 pojo 的名称来实现:
Or you can do it by adding in the hibernate.reveng.xml file the name of each pojo:
我假设您正在使用 Hibernate Tool 的功能从数据库元数据对域模型类进行逆向工程。在这种情况下,您可能想要实现自定义的 org.hibernate.cfg.reveng.ReverseEngineeringStrategy,如 此处。
I am assuming that you are using Hibernate Tool's ability to reverse engineer the domain model classes from database metadata. In that case, you might want to implement a custom
org.hibernate.cfg.reveng.ReverseEngineeringStrategy
as explained here.