Hibernate使用Equals生成POJO

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方法中放置哪些属性?

Pas*_*ent 6

这是一个未公开的特性(与在线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)

一个讨论,关于这一点在行动论坛的接缝.