Hibernate. Object-oriented mapping. Основы. Пример с использованием HSQLDB

Если еще не стоит JDK - устанавливаем отсюда http://java.sun.com/j2se/1.5.0/download.jsp
Затем устанавливаем плагин к эклипсу - Eclipse Web Tools Platform (WTP) отсюда - http://www.eclipse.org/webtools/
Теперь ставим HSQLDB. Кто не знает - это open-source реляционная субд, написанная на java. Стягиваем отсюда: http://www.hsqldb.org/
Устанавливаем приблуду под названием DbVisualizer. Это тулза для визуальной разработки баз данных, также написанная на java. DbVisualizer
Создаем базу данных в HSQLDB
Для этого заходим в корень распакованного архива и в командной строке вводим магическое:
Этим самым мы создали и запустили базу данных BookShopDB.
Теперь заходим в DbVisualizer для подключения к базе и вводим следующие настройки:
если он не сможет найти драйвер к hsqldb (у меня не нашел) - указываем ему путь к lib/hsqldb.jar.
Щас должны законнектиться.
Создаем таблицы в базе
создались три базы
Теперь вставляем тестовую информацию в таблицу:
Теперь будем щупать весь этот кал. Создаем новый проект в эклипсе, предварительно задав месторасположение дров - hsqldb.jar
Тестовый класс выглядит следующим образом:
Делаем тестовый запрос:
А теперь рассмотрим объектно-реляционное проецирование или просто маппинг.
В объектной модели мы используем нормальные JavaBeans для построения объектной модели. Эти JavaBeans именуются как "Plain Old Java Objects" или POJO, или "Старые добрые объекты java".
![]() |
Каждый POJO должен иметь конструктор без аргументов |
Создаем три класса - для каждой таблицы:
Используя маппинг на классы, делаем следующее:
Сохранение объектов назад в базу
Слишком много кода.
Ассоциации задаются вручную.
Зависимость от базы данных.
Материалы, которые могут вас заинтересовать
- Hibernate. Создание named query или именованых запросов.
- Java. Object-oriented mapping. Работаем с чистым Hibernate без прямого использования JDBC.
- Нуждается ли приложение в сервере приложений? / Deciding Whether an Application Needs an Application Server
- Как происходит вызов EJB?
- В чем разница между EJB 2.0 и EJB 3.0?
- Можно ли вызывать Runtime.gc() в EJB?
- Что такое deployment descriptor или дескриптор развертывания?
- Являются ли JavaBeans компонентами J2EE?
- Какие существуют компоненты в J2EE?








Отправить комментарий