(Конфигурация Hibernate) не может отображать классы, расположенные в другом проекте - PullRequest
2 голосов
/ 14 июля 2011

У меня есть пара вопросов об изменении конфигурации гибернации.Есть проект, в котором говорится, что в ProA есть классы POJO, то есть

Hibernate config for ProA
    <hibernate-configuration>
        <session-factory>
            <!-- Mapping files -->
            <mapping class="com.form" />
            <mapping class="com.page" />
            <mapping class="com.widget" />
        </session-factory>
    </hibernate-configuration> 

. Они отлично работают, и у меня также есть другой проект, скажем, ProB, и мне нужно использовать эти классы POJO в этом проекте.Я скопировал директорию com в ProB и смог получить объекты из базы данных.Однако проблема в том, что эти проекты находятся в репозитории SVN, и когда эти классы изменены и зафиксированы, мне нужно получить доступ к этой обновленной версии классов pojo.

Есть ли обходной путь для этого?

Было бы здорово, если бы я мог сопоставить эти классы в ProB как-то так?

Hibernate config for ProB
    <hibernate-configuration>
            <session-factory>
                <!-- Mapping files -->
                <mapping class="/ProB/com.form" />
                <mapping class="/ProB/com.page" />
                <mapping class="/ProB/com.widget" />
            </session-factory>
    </hibernate-configuration>

Так что мне не нужно было бы иметь копию каталога com и иметь дело с синхронизацией svn.

Буду очень признателен за любую помощь.

Приветствия ....

1 Ответ

1 голос
/ 21 июля 2011

Что вы набрали для ProB

<mapping class="/ProB/com.form" />

не будет работать. Класс, на который вы ссылаетесь, должен быть на пути к классам. Нотация типа «папка» не удовлетворяет этому требованию (если только вы не взломали спящий режим).

Я вижу две проблемы, которые вам нужно решить:

1) Убедитесь, что у вас всегда есть последние сопоставления из ProB в ProA: эту (я думаю) проблему можно решить с помощью соответствующей стратегии контроля версий исходного кода, возможно, используя svn externals.

2) Убедитесь, что сопоставления и классы остаются совместимыми с тем, как вы хотите использовать их в ProA (проблема организации и инфраструктуры тестирования / сборки).

Я бы посмотрел, как вы зависите от внутренних проектов, которые постоянно меняются, и как вы разрабатываете стратегии тестирования / сборки, обеспечивающие совместимость. Если вы используете что-то вроде maven и внутреннего сервера репо, вы можете просто зависеть от последней версии или снимка ProB.

Надеюсь, это поможет ...

...