Java Hibernate使用Equals生成POJO

Java Hibernate使用Equals生成POJO,java,hibernate,orm,reverse-engineering,pojo,Java,Hibernate,Orm,Reverse Engineering,Pojo,我们在一个新项目中使用hibernate,在这个项目中,我们使用hibernate.reveng.xml创建*.hbm.xml文件和POJO。我们希望在每个POJO中都有equals方法。 我发现您可以在hbm文件中使用true来标记要在equals中使用的属性。但这意味着编辑大量文件,然后在将来修改数据库中的表或列时重新编辑这些文件 所以我想知道是否有一种方法可以为hibernate.reveng.xml文件中的每个pojo(表)放置equals方法中使用的属性?eclipse有equal和h

我们在一个新项目中使用hibernate,在这个项目中,我们使用
hibernate.reveng.xml
创建
*.hbm.xml
文件和POJO。我们希望在每个POJO中都有equals方法。 我发现您可以在hbm文件中使用
true
来标记要在equals中使用的属性。但这意味着编辑大量文件,然后在将来修改数据库中的表或列时重新编辑这些文件


所以我想知道是否有一种方法可以为
hibernate.reveng.xml
文件中的每个pojo(表)放置equals方法中使用的属性?
eclipse有equal和hash代码生成器。我们使用它来生成这些方法。

这是一个未记录的功能(并且联机已过时),但是您可以在
元素中添加
。换句话说,您应该能够做到这一点:

<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>

基本对象
公开摘要
真的
真的
hibernate tools.jar中的DTD应该是最新的(看起来像),并声明:

<!ELEMENT column (meta*) >


Seam in Action论坛中有相关内容。

@dr jerry当您更改db模式时,是否重新生成POJO,然后手动返回并读取equals add哈希代码?不,在更改db后,我不会重新生成。在某个时候,我们离开了生成的工作,对pojo进行了手动更新。我们的配置经过了太多的调整,无法从代码生成中获益。