Каковы лучшие практики для использования hbm2java Hibernate?

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

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

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

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

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

2 ответа

Решение

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

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

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

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

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

mvn eclipse:clean eclipse:eclipse

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

mvn eclipse:install-plugin

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

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

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

Другие вопросы по тегам