Каковы лучшие практики для использования hbm2java Hibernate? - PullRequest
2 голосов
/ 31 декабря 2011

Я использую Hibernate, Maven и Eclipse (сборка STS) для создания проекта. Я использую файлы hbm.xml, чтобы указать мою схему. Я хочу использовать hbm2java Hibernate для генерации моих классов моделей. У меня это работает хорошо и генерирует тот код, который я хочу.

Он отлично запускается из командной строки, генерирует код модели, а затем строит и тестирует, как и ожидалось.

Однако Eclipse, похоже, не в состоянии справиться с этим. Он периодически «сходит с ума» и не сможет разрешить очень простые операции импорта и классы, на которые есть ссылки в моих классах DAO, которые написаны вручную. Вещи, которые он не может найти, это классы, подобные HibernateUtil. По иронии судьбы, у него, похоже, нет проблем с поиском моделей классов.

Неразрешенные классы находятся в папке target / classes / blah-blah в конце цикла. Так что они, очевидно, копируются в нужное место.

В среде "непрерывной интеграции" лучше всего сгенерировать источники один раз, передать их в мой контроль версий, а затем отключить код gen? Или возможно генерировать код каждый раз, таким образом гарантируя, что я принимаю любые изменения в базе данных без вмешательства человека?

Ответы [ 2 ]

5 голосов
/ 31 декабря 2011

ИМХО, сущности должны быть ядром вашего приложения и должны быть тщательно спроектированы, внедрены и задокументированы.Они должны быть объектами с методами, инкапсулирующими поведение.Иметь их автоматически - это абсурд, ИМО.

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

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

0 голосов
/ 10 октября 2012

Попробуйте это:

Из командной строки перейдите в каталог вашего проекта, где присутствует проект pom.xml, и запустите:

mvn eclipse:clean eclipse:eclipse

Если он говорит, что не может найти затмение плагина, попробуйте:

mvn eclipse:install-plugin

Сначала, а затем попробуйте команду выше.

Таким образом, все зависимости maven и проекта также будут разрешены на уровне затмения.

Дайте мне знать, если это не то, что вы искали.

...