Отображения гибернации: разделение файла - PullRequest
0 голосов
/ 08 октября 2009

Хорошо, у меня быстрый вопрос. В настоящее время я работаю с устаревшей базой данных, поэтому я не могу многое изменить. База данных вращается вокруг одного типа, сущности. Все другие соответствующие данные (кроме настраиваемых списков и т. Д.) «Наследуются» от этого.

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

Чтобы уточнить, отображения выглядят так:

<class name="..." table="...">
    <id ...>
            <generator class="org.hibernate.id.TableHiLoGenerator">
                    <param name="table">...</param>
                    <param name="column">...</param>
            </generator>
    </id>
    <property name="somethingCommon" />
    <joined-subclass name="class_1">
        ...
        ...
    </joined-subclass>
    <joined-subclass name="class_2">
        ...
        ...
    </joined-subclass>
    ...
    <joined-subclass name="class_n">
        ...
        ...
    </joined-subclass>
</class>

То, что я хотел бы сделать, это поместить биты объединенного подкласса в отдельные файлы, как я это сделал бы в коде (отдельные классы -> отдельные файлы). Возможно ли это, используя только сопоставления или, возможно, манипулируя сопоставлениями, когда я их загружаю?

(Примечание: помечено hibernate / nhibernate, так как я не думаю, что это относится к какому-либо вкусу)

1 Ответ

4 голосов
/ 08 октября 2009

Я считаю, что вы можете использовать "extends", например:

<hibernate-mapping>
 <joined-subclass name="DomesticCat" extends="Cat">
      ...
 </joined-subclass>

для разделения объединенных подклассов на отдельные файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...