Создадим тестовое приложение TestApp. В приложении будет задействована база данных, поэтому необходимо также создать БД test_base (для простоты будем использовать DerbyDB) и добавить в проект библиотеки для работы с DerbyDB. Подробнее о создании приложения и настройке БД смотрите здесь.
Когда каркас приложения создан, подготовим Hibernate к использованию. Для этого нам нужен дистрибутив – я использовал Hibernate 3.6.3 (последнюю на данный момент версию можно получить на сайте Hibernate). Дистрибутив Hibernate имеет следующую структуру:
vova@vova:~/projects/hibernate-distribution-3.6.3.Final$ ls
changelog.txt
documentation
hibernate3.jar
logo.gif
hibernate-testing.jar
lgpl.txt
lib
project
Нужные нам библиотеки будем хранить в папке hibernate-jpa:
vova@vova:~/projects/hibernate-distribution-3.6.3.Final$ mkdir ~/projects/TestProject/hibernate-jpa
Наш тестовый проект располагается в директории ~/projects/TestProject/
Для работы с Hibernate (через JPA 2.0) нам понадобятся библиотеки, расположенные в следующих директориях дистрибутива (адреса заданы относительно корня дистрибутива):
lib/required
lib/jpa
А также hibernate3.jar, который находится в корне.
Для удобства скопируем все необходимые библиотеки в одну директорию:
vova@vova:~$ cp ~/projects/hibernate-distribution-3.6.3.Final/hibernate3.jar ~/projects/TestProject/hibernate-jpa/
vova@vova:~$ cp ~/projects/hibernate-distribution-3.6.3.Final/lib/required/* ~/projects/TestProject/hibernate-jpa/
vova@vova:~$ cp ~/projects/hibernate-distribution-3.6.3.Final/lib/jpa/* ~/projects/TestProject/hibernate-jpa/
В итоге, в папке hibernate-jpa у нас будут следующие библиотеки (в зависимости от используемой версии Hibernate данный список может измениться):
vova@vova:~$ ls projects/TestProject/hibernate-jpa/
total 6112
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
slf4j-api-1.6.1.jar
Возвратимся к ранее созданному проекту. Пора создать первую Entity нашего приложения: кликните на проекте правой кнопкой мыши → New → Entity Class... В появившемся диалоговом окне укажите название класса-сущности - TestEntity и пакет, где сущность будет располагаться (я использовал com.testapp.entity).
Перед нами появилось окно для настройки ORM-реализации. В нем для Database Connection выберите созданное соединение с БД test_base.
При клике на Persistence Library появляется список доступных библиотек. В нем есть только Hibernate, совместимый с JPA 1.0. Давайте добавим Hibernate, поддерживающий JPA 2.0.
В качестве Persistence Library выберите пункт New Persistence Library...
В появившемся окне выберите Add JAR/Folder...
Далее нужно указать путь к папке с необходимыми библиотеками Hibernate (в моем случае - ~/projects/TestProject/hibernate-jpa) и добавить все имеющиеся в этой директории jar:
Указываем Library Name, нажимаем OK:
Теперь в списке Persistence Library появилась возможность выбрать Hibernate (JPA 2.0):
Выбираем добавленную нами библиотеку, нажимаем Finish.
Таким образом в нашем приложении реализована поддержка Hibernate и JPA 2.0.
Теперь при создании нового приложения, чтобы использовать Hibernate в связке с JPA 2.0, достаточно выбрать соответствующий пункт меню при настройке Persistence Unit или подключить к проекту библиотеку jpa2.0-hibernate (во втором случае придется также задать конфигурационные файлы).