Каковы лучшие практики для использования 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 и проекта также будут разрешены на уровне затмения.
Дайте мне знать, если это не то, что вы искали.