Статьи

Пошаговая автоматическая генерация кода для классов Java POJO и hbm с использованием плагина Eclipse Hibernate

Обзор:

В этом руководстве мы будем использовать инструмент Eclipse Hibernate для автоматической генерации объектов домена и соответствующих файлов hbm xml. Если вы работаете в проектах большого или среднего размера, и если у вас более 5+ таблиц для начала, вы можете обнаружить, что этот плагин является потрясающим инструментом для автоматической генерации java-файлов объектов сопоставления и соответствующих * .hbm.xml. файлы легко. Вы можете легко использовать их в своих проектах. Для очень маленького проекта, содержащего 2 или 3 таблицы, вы можете вручную создать эти файлы, однако, если у вас есть огромное количество полей в таблице или несколько таблиц, с которыми приходится иметь дело, тогда этот инструмент спасает время и время.

Используемые инструменты:

1. Eclipse Indigo Java EE IDE для веб-разработчиков
2. Спящий режим 3
3. Hibernate Tools Eclipse Plugin Версия 3.5.1
4. Mysql JDBC jar (mysql-connector-java-5.1.23)

Шаг -1: Установите плагин Hibernate для Eclipse

Установите плагин hibernate с сайта jboss в зависимости от версии Eclipse. Я использовал версию Eclipse Indigo. В Eclipse в строке меню перейдите в «Справка» -> «Установить новое программное обеспечение», а для Indigo перейдите по адресу http://download.jboss.org/jbosstools/updates/indigo/, чтобы загрузить и установить плагин Hibernate.
После установки вы найдете его в разделе «Установленное программное обеспечение», а также увидите новую перспективу в Eclipse.

image0011

Перспектива Eclipse для Hibernate-

image0031

Шаг 2: Настройте плагин для подключения к базе данных для генерации кода

Например, я уже создал одно динамическое веб-приложение PersonalPhotoAlbumApp, куда я уже скопировал необходимые файлы jar в папку WEB-INF / lib. Если у вас другой проект, вы можете хранить файлы jar (необходимые файлы jar, связанные с hibernet, и файл jar коннектора mysql) в папке проекта или внешней папке, но имейте в виду, что они должны находиться в распознанном пути к классам.
Как только вы создали проект, переключитесь на перспективу Hibernate. Затем перейдите в File -> New -> ‘Hibernate Console Configuration’. Эта конфигурация консоли понадобится вашему плагину позже для генерации кода на основе сопоставления таблиц базы данных.

image0051

Нажмите кнопку «Настройка», чтобы создать новый файл hibernate.cfg.xml, в котором будет храниться информация о подключении к вашей базе данных, которая будет использоваться плагином. Для создания объектов домена или файла hbm вам не нужен файл hibernate.cfg.xml, так как вы можете выбрать другую конфигурацию базы данных из выпадающего списка. Для простоты я следовал этому шагу.

image0071

Выберите имя и путь для сохранения файла hibernate.cfg.xml в проекте Java / J2EE. Заполните необходимую информацию о соединении для подключения к базе данных.

image0091

image0111

image0131

Если все пойдет хорошо, вы увидите следующий экран ниже и увидите таблицы. У меня есть две таблицы, а именно ‘album’ и ‘phototbl’ в моей базе данных ‘tctalk_apps_photoalbum’, которые, как вы можете видеть, показывает инструмент. Если вы получаете какую-либо ошибку при подключении к базе данных, проверьте файл * .cfg.xml, чтобы увидеть, есть ли какие-либо ошибки, или введите информацию, которую вы заполнили.

image0151

Шаг 3. Создание файла конфигурации обратного проектирования Hibernate

Следуйте инструкциям по созданию в вашем проекте месторасположения месторасположения, чтобы инструмент реверс-инжиниринга сгенерировал java-объекты домена (классы POJO) и соответствующие файлы * .hbm.xml (здесь хранятся поля таблиц и требуется сопоставление с полями). из POJOs).

image0171

image019

Нажмите «Обновить», если вы не видите схему базы данных и таблицы на левой панели. Выберите таблицу, в которой вы хотите создать код домена, и нажмите «Включить», чтобы добавить ее в правую панель.

image021

Шаг 4. Создание конфигурации генерации кода Hibernate

Эта конфигурация будет использовать файл месторасположения местами для создания java-кода для объектов домена / POJO и файлов * .hbm.xml и будет храниться в выходной папке, которую вы укажете. Следуйте инструкциям ниже.

Щелкните по крошечному значку запуска в спящем режиме на панели инструментов, чтобы выбрать в меню пункт «Настройка генерации кода Hibernate».

image023

Выберите «Новая конфигурация запуска», чтобы создать новую. Значок очень маленький с символом «+».

image025

Вам нужно выбрать пакет, в котором вы хотите генерировать Java-классы домена POJO вместе с файлами * .hbm.xml. Также выберите файл месторасположения, созданный на предыдущем шаге.

image027

Нажмите на следующую вкладку «Экспортеры» рядом с «Главным», чтобы установить флажки «Код домена» и «Сопоставление XML-файла Hibernate (.hbm.xml)».

image029

Нажмите «Выполнить», и вы увидите, что он работает в строке состояния.

image031

Шаг 5 (необязательный шаг): разделение классов POJO и файлов hbm для лучшей управляемости

Следующие шаги не являются обязательными. Этот шаг просто украшает папку проекта и структуру пакета для лучшей ремонтопригодности. Вы можете пропустить этот шаг и сразу перейти к шагу 6, если у вас все в порядке с файлами POJO и hbm в одной папке и вы приступили к счастливому кодированию. Если вы считаете, что вам нужно сохранить другой пакет для классов Java POJO и отдельную папку для файлов * .hbm.xml, выполните этот шаг.

Откройте пакет, выбранный в качестве выходной папки, и вы увидите автоматически сгенерированные классы и файлы hbm xml.

image033

Выберите все классы Java POJO и щелкните правой кнопкой мыши и выберите Refactor -> Move, чтобы переместить их в нужный пакет. В нашем случае я хотел, чтобы они были в пакете businessobjects, поэтому я перенес их туда.

image035

После перемещения java-классов я выбрал каждый из них и переименовал их, добавив BO, чтобы пометить их как классы бизнес-объектов.

image037

Поскольку файлы hbm находятся в разных пакетах, а классы бизнес-объектов java находятся в разных папках, hibernate должен знать об этом. Иначе он их не найдет. Для этого нам нужно добавить тег в файл hibernate.cfg.xml, соответствующий каждому классу POJO и их соответствующему файлу hbm.xml.

image039 обновляемый

также откройте файл * .hbm.xml и измените его на полное имя пакета класса. Скажем, для класса AlbumBO я изменил путь к классу в файле Album.hbm.xml как

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
<!-- Generated Apr 22, 2013 1:26:40 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="com.tctalk.apps.album.db.businessobjects.AlbumBO" table="album" catalog="tctalk_apps_photoalbum">
        <id name="albumid" type="java.lang.Integer">
            <column name="albumid" />
            <generator class="identity" />
        </id>
        <property name="albumname" type="string">
            <column name="albumname" length="55" not-null="true" />
        </property>
        <property name="albumdesc" type="string">
            <column name="albumdesc" length="65535" not-null="true" />
        </property>
        <property name="albumcreatedate" type="date">
            <column name="albumcreatedate" length="10" not-null="true" />
        </property>
    </class>
</hibernate-mapping>

Шаг 6: Удалите hibernate.reveng.xml файл обратного инжиниринга из вашего проекта

image041