私の意見では、自動生成されたコードは一般的に/好ましくは手動で変更しないでください。何も再生成できないためです。しかし、ある経験豊富な休止状態のユーザーは、必要に応じて hbm2java 生成コードを常に変更すると言っています。「Fit needs」も重要なので、これが主たる善なのかどうかはわかりません。
3 に答える
自動生成されたコードは、一般的に/優先的に手動で変更すべきではありませんか?
--> 手動でコードを変更すると、次回再び pojo クラスが自動生成されるため、手動でコードを変更しないでください。多くの変更を行う必要があり、手動での変更を維持するのは困難です。繰り返しになりますが、間違いを犯すのは人間であり、大きな変化を見逃すと、本当に非常に困難になります。
しかし、ある経験豊富な休止状態のユーザーは、必要に応じて hbm2java で生成されたコードを常に変更すると言っています。
--> コード生成 (リベンジ) スクリプトを変更して、生成されたコードを手動で変更する代わりに、必要に応じてクラスを生成できます。
生成されたコードを変更するのも好きではないので、そのような場合はaspectJを使用します。コードを再生成して何かを破壊することはできないため、これも役立ちます...(注意:ビルドをトリガーするのは常にあなたではありません)
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>
テンプレートの変更は大歓迎です (読みにくい場合でも)。多くの場合、長時間のセッションと組み合わせて不可欠です。