1

私の意見では、自動生成されたコードは一般的に/好ましくは手動で変更しないでください。何も再生成できないためです。しかし、ある経験豊富な休止状態のユーザーは、必要に応じて hbm2java 生成コードを常に変更すると言っています。「Fit needs」も重要なので、これが主たる善なのかどうかはわかりません。

4

3 に答える 3

3

自動生成されたコードは、一般的に/優先的に手動で変更すべきではありませんか?

--> 手動でコードを変更すると、次回再び pojo クラスが自動生成されるため、手動でコードを変更しないでください。多くの変更を行う必要があり、手動での変更を維持するのは困難です。繰り返しになりますが、間違いを犯すのは人間であり、大きな変化を見逃すと、本当に非常に困難になります。

しかし、ある経験豊富な休止状態のユーザーは、必要に応じて hbm2java で生成されたコードを常に変更すると言っています。

--> コード生成 (リベンジ) スクリプトを変更して、生成されたコードを手動で変更する代わりに、必要に応じてクラスを生成できます。

于 2013-01-07T11:34:00.757 に答える
1

生成されたコードを変更するのも好きではないので、そのような場合はaspectJを使用します。コードを再生成して何かを破壊することはできないため、これも役立ちます...(注意:ビルドをトリガーするのは常にあなたではありません)

于 2013-01-07T11:28:56.713 に答える
0

Reveng-Templates を介してコードを間接的に変更することをお勧めします。

  • ソースを再生成すると、カスタマイズは失われます。

テンプレートを変更するにはpojo、Hibernate-Tools-sources から -folder を src/main/templates/pojo/Pojo.ftl以下の例で好きなフォルダーに抽出します。

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>hibernate3-maven-plugin</artifactId>
  <version>2.2</version>
  <configuration>
    <components>
      <component>
        <name>hbm2java</name>
        <outputDirectory>src/main/java</outputDirectory>
      </component>
    </components>
    <componentProperties>
             <!-- to change the filename of the entitys to *Impl.java for examle -->
      <reversestrategy>mypackage.MyStrategy</reversestrategy>   
      <revengfile>/src/main/config/hibernate.reveng.xml</revengfile>
      <configurationfile>/src/main/config/hibernate.cfg.xml</configurationfile>
             <!-- modify the templates to your needs -->
      <templatepath>src/main/templates</templatepath>
    </componentProperties>
  </configuration>
</plugin>

テンプレートの変更は大歓迎です (読みにくい場合でも)。多くの場合、長時間のセッションと組み合わせて不可欠です。

于 2013-08-30T08:52:23.267 に答える