1

hbm マッピング ファイルから作成された既存の作業データベースがあります。

オプション機能用にいくつかの新しいテーブルを作成したいと考えています。

1 つのオプションは、これらの新しいテーブルが常に存在することですが、テーブルと POJO は要求があった場合にのみ作成することをお勧めします。

私の問題は、これらのテーブル/POJO が既存のテーブル/POJO に依存していることです。マッピング ファイルを作成しましたが、既存のテーブルと新しいテーブルの作成/削除コマンドを POJO と共に作成する場合にのみ機能します。

この既存のテーブル/POJO for Group が作成スクリプトに表示されないようにすることはできますか?

以下の例では、グループは既存のテーブル/POJO です。

    <id name="id" type="java.lang.Long">
        <column name="ID" not-null="true" />
    </id>

    <many-to-one name="group"
        class="uk.co.foo.domain.dfwv.Group"
        foreign-key="GROUP_FK" lazy="false" not-found="ignore">
        <meta attribute="use-in-tostring">false</meta>
        <column name="GROUP_NAME"
             not-null="true" />
    </many-to-one>
</class>

これを生成する ant ターゲットは以下であり、依存オブジェクトがリストされている場合にのみ機能します。

            <fileset dir="${dfwv.mappings.dir}">
                <include name="**/groups.hbm.xml" />
            </fileset>
        </configuration>
        <hbmtemplate exporterclass="uk.co.foo.hibernateutils.tools.Exporter" templateprefix="config/foopojo/" template="config/foopojo/Pojo.ftl">
            <property key="jdk5" value="true" />
            <property key="ejb3" value="false" />
        </hbmtemplate>
    </hibernatetool>
</target>

Group への依存参照がないと、エラーが発生します。

BUILD FAILED C:\projects\foo\db-build.xml:187: スキーマ テキストが失敗しました: テーブル DISCON_TEST からの関連付けは、マップされていないクラスを参照しています: uk.co.foo.domain.dfwv.Group

休止状態のバージョン:3.1.2

4

1 に答える 1

0

本当に必要になるまでマッピングをコメントアウトできませんか? hibernate は、提供されたエンティティの完全なメタモデルを必要とし、それらの一部の「スタブ」だけを作成することはできません

于 2009-04-02T19:20:26.830 に答える