4

その後、 を使用してファイルと POJOhibernate.reveng.xmlを作成する新しいプロジェクトで hibernate を使用しています。*.hbm.xml各 POJO に equals メソッドが必要です。<meta attribute="use-in-equals">true</meta>hbm ファイルで を使用して、equals で使用するプロパティをマークできることがわかりました。ただし、これは、大量のファイルを編集し、DB のテーブルまたは列を変更した場合、将来的にファイルを再編集することを意味します。

それで、ファイル内の各 pojo(table) の equals メソッドで使用するプロパティを配置する方法があるかどうか疑問に思っていましたhibernate.reveng.xmlか?

4

2 に答える 2

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>

hibernate-tools.jar内の DTD は最新のもの (およびこのようなもの) であり、次のように宣言する必要があります。

<!ELEMENT column (meta*) >

これについては Seam in Action フォーラムで議論されています。

于 2010-03-26T15:51:38.363 に答える
2

日食には、等号およびハッシュコードジェネレーターがあります。それをこれらのメソッドの生成に使用します。

于 2010-03-26T15:18:09.643 に答える