0

私は以下を含めようとしています



private org.springframework.web.multipart.commons.CommonsMultipartFile photo;


    @Transient
    public CommonsMultipartFile getPhoto() {
        return photo;
    }

    public void setPhoto(CommonsMultipartFile photo) {
        this.photo = photo;
    }

データベーステーブルから生成された私のpojoクラスで。

次のようなメタタグで追加のクラスコードを言及する方法があることを発見するために調査しました

http://www.scribd.com/doc/23123635/30/Guiding-the-reverse-engineering-process

ただし、これではプロパティ変数の写真を追加できません。

このコードがhbm2javaのすべての実行に含まれるようにreven.xmlでそれを行う方法を提案してください。

前もって感謝します!

4

2 に答える 2

2

reveng テンプレートを使用して、このようなカスタム コードを実現できます。開くhibernate-tools.jarと、フォルダーに .ftl ファイルが見つかりpojoます。カスタム コードを配置するには、それらをオーバーライドする必要があります。

手順:

  1. Maven を使用している場合は、これcomponentPropertiesを hbm2java ゴールの下に置きます。

    <templatepath>src/main/resources/reveng.templates/</templatepath>
    <filepattern>*.java</filepattern>
    
  2. revenge.templates/pojoリソースの下にフォルダーを作成します。フォルダー名が常にpojoであることを確認してください。そうしないと、上書きが検出されません。

  3. ファイルを作成し、jar に存在pojo.ftlするファイルからコンテンツをコピーします。pojo.ftlこのファイルにすべてのインポート ステートメントを追加します。

  4. 同様に、他のファイルに従って、カスタム コードを配置する正確な場所を見つけます。

于 2011-06-13T08:57:34.743 に答える
0

私が知る限り、これを reveng.xml またはカスタムの ReverseEngineeringStrategy で指定する方法はありません。

この問題を解決する方法は、生成したすべてのベース POJO クラスをカスタム クラス レイヤーで拡張し、そこに一時的なプロパティと特別な動作を追加することです。まさにあなたが求めていたものではありませんが、うまく機能し、コード生成の利点を犠牲にすることなく柔軟性を実現します。

于 2011-06-04T00:10:32.467 に答える