You should use the hibernate reverse engineering tools for this. See the hibernate reverse engineering tools documentation for more information.
It's not clear to me how to generate JPA annotated classes, but you might want to think about not using hbm.xml files anymore if this is a new project, favoring annotations.
Я с удовольствием использовал Hibernate Tools (примеры приведены на их сайте). Ниже я подробно описываю свой конкретный, продвинутый и интересный (как мне кажется) вариант использования.
На самом деле, я столкнулся с интересной проблемой в нашем большом проекте (приближение 800 таблиц, команда, управляемая базой данных)
Но большинство таблиц не были новыми, у меня уже были реализации java и .hbm.xml. Оба иногда были изменены из БД, в которой они были изначально созданы, поэтому было невозможно воссоздать их с гарантией, что ничего не сломается. Мне нужно было перенести сущности, изменив как можно меньше (то есть только аннотации)!
Это также должно было быть быстрым, потому что наши типичные старые сущности имеют около 100 элементов (собственные столбцы базы данных, плюс сущность коллекции, поступающие из обратных внешних ключей!).
Примечание: две сущности не смогли скомпилировать сгенерированный полный конструктор, они превысили ограничение в 256 параметров! Но я думал, что этот конструктор в любом случае был бесполезен, кто мог запомнить порядок из 256 параметров, поэтому я удалил его.
Для переноса карты, Я использовал Hibernate Tools (настроенный по мере необходимости, шаблон и код) следующим образом:
источником информации были файлы .hbm.xml с файлом hibernate.cfg.xml
Примечание: мне пришлось извлечь Сначала hibernate.cfg.xml, заменив компонент Spring, который раньше содержал список. Но это также было полезно для инструментов базы данных, таких как Squirrel, которые могли использовать его для включения завершения HQL ...
сгенерированный вывод был файлами X2.java (для класса X.java в том же пакете), содержащих только поля , геттеры и аннотации (без сеттеров или конструкторов) (общие наборы)
Я бы использовал компилятор Eclipse (ошибка «дубликат ...»), чтобы перепроверить мое редактирование, чтобы сделать его быстрее и менее подверженным ошибкам (ошибка не рассматривалась. , у нас много клиентов в производстве!). Для каждого перенесенного класса я бы скопировал из сгенерированного класса в существующий:
Для любопытных, в этом месяце мы приближаемся к 200 аннотированным объектам :-). Для миграции типичного объекта со 100 полями требуется около 30 минут работы. Осталось всего 300 часов, чтобы закончить эту вырезанную пасту для оставшихся 600 объектов! ; -)
Netbeans имеет функции для создания файлов конфигурации, файлов с аннотациями и т. Д.