Jac*_*oen 4 java orm hibernate reverse-engineering pojo
我们在一个新项目中使用hibernate,之后我们使用它hibernate.reveng.xml来创建我们的*.hbm.xml文件和POJO.我们希望在每个POJO中都有等于方法.我发现你可以<meta attribute="use-in-equals">true</meta>在你的hbm文件中使用来标记在equals中使用哪些属性.但这意味着编辑大量文件,然后在我们修改数据库中的表或列时,将来再次重新编辑文件.
所以我想知道是否有办法在hibernate.reveng.xml文件中的每个pojo(表)的equals方法中放置哪些属性?
这是一个未公开的特性(与在线DTD是过时的),但你可以添加<meta>在<table>和<colum>元素.换句话说,您应该能够这样做:
<table name="PROPERTY" catalog="DATA" schema="PUBLIC">
<meta attribute="extends">BasicDataObject</meta>
<meta attribute="scope-class">public abstract</meta>
<column name="ID">
<meta attribute="use-in-equals">true</meta>
<meta attribute="use-in-tostring">true</meta>
</column>
</table>
Run Code Online (Sandbox Code Playgroud)
hibernate-tools.jar中的DTD 应该是最新的(看起来像这个)并声明:
<!ELEMENT column (meta*) >
Run Code Online (Sandbox Code Playgroud)
有一个讨论,关于这一点在行动论坛的接缝.