файл отображения гибернации с зависимостями от существующих таблиц / POJO - PullRequest
1 голос
/ 31 марта 2009

У нас есть существующая и работающая база данных, созданная из файлов отображения hbm.

Мы хотим создать несколько новых таблиц для дополнительной функции.

Один из вариантов заключается в том, что эти новые таблицы всегда существуют, но мы бы предпочли, чтобы таблицы и POJO создавались только по запросу.

Моя проблема заключается в том, что эти таблицы / POJO зависят от существующих таблиц / POJO. Я создал файл отображения, но я могу заставить его работать, только если он создает команды создания / удаления для существующих таблиц, а также для новых, вместе со своими POJO.

Можно ли избежать появления этой существующей таблицы / POJO для группы в сценарии создания.

В приведенном ниже примере 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>

Цель для создания муравья приведена ниже и работает, только если перечислены зависимые объекты:

            <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>

Без зависимой ссылки на группу я получаю ошибку:

СТРОИТЬ НЕУДАЧИ C: \ projects \ foo \ db-build.xml: 187: текст схемы не выполнен: ассоциация из таблицы DISCON_TEST ссылается на не отображенный класс: uk.co.foo.domain.dfwv.Group

Версия Hibernate: 3.1.2

1 Ответ

0 голосов
/ 02 апреля 2009

не могли бы вы просто закомментировать сопоставления, пока они вам действительно не понадобятся? hibernate нуждается в полном метамоделировании предоставленных сущностей и не может создавать просто «заглушки» для некоторых из них

...