从hibernate生成时更改POJO名称
我想知道如何在使用hibernate生成POJO时更改其名称 我的表有一个命名约定:FR_u和TRN_u。 在生成POJO时,我希望删除FR和TRN,并将VO附加到名称中 比如说, 表名:FR\u ACCOUNT\u MST 要生成的POJO:accountMstVO 谢谢,从hibernate生成时更改POJO名称,hibernate,naming-conventions,hibernate-mapping,pojo,Hibernate,Naming Conventions,Hibernate Mapping,Pojo,我想知道如何在使用hibernate生成POJO时更改其名称 我的表有一个命名约定:FR_u和TRN_u。 在生成POJO时,我希望删除FR和TRN,并将VO附加到名称中 比如说, 表名:FR\u ACCOUNT\u MST 要生成的POJO:accountMstVO 谢谢, Varun我假设您正在使用Hibernate工具的功能,从数据库元数据对域模型类进行反向工程。在这种情况下,您可能需要实现一个自定义的org.hibernate.cfg.reveng.reverseengEngineeri
Varun我假设您正在使用Hibernate工具的功能,从数据库元数据对域模型类进行反向工程。在这种情况下,您可能需要实现一个自定义的
org.hibernate.cfg.reveng.reverseengEngineeringStrategy
。对,您必须扩展delegatingReverseengStrategy类(hibernate-tool.jar库)并重写tableToClassName方法
下面的代码将FR_ACCOUNT_MST重命名为FR_ACCOUNT_MSTVO
我让你用一些正则表达式来得到想要的结果
变量className包含包+类名(即.com.mycompany.project.hibernate.FR\u ACCOUNT\u MST)
资料来源:
也可以通过在hibernate.reveng.xml文件中添加每个pojo的名称来实现:
<hibernate-reverse-engineering>
<table-filter match-schema="CO" match-name="FR_ACCOUNT_MST"/>
<table name="FR_ACCOUNT_MST" schema="CO" class="com.bonables.co.hibernate.pojo.accountMstVO" />
</hibernate-reverse-engineering>
Damn。。这是我唯一没有标上答案的问题。。谢谢你的解决方案。。尽管几个月前我需要它。。欢迎来到SOF!
<hibernate-reverse-engineering>
<table-filter match-schema="CO" match-name="FR_ACCOUNT_MST"/>
<table name="FR_ACCOUNT_MST" schema="CO" class="com.bonables.co.hibernate.pojo.accountMstVO" />
</hibernate-reverse-engineering>