Регистрация классов-сущностей
Для того чтобы hibernate при создании SessionFactory учитывала новую сущность, ее необходимо указать в конфигурации. Пример для файла hibernate.cfg.xml:
- 1.
- 2. < session-factory >
- 3. ...
- 4. cmapping class="Entity.People"/>
- 5.
- 6.
Ter mapping позволяет указать, какие классы-сущности мы должны учитывать при создании SessionFactory.
Пример для конфигурационного класса org.hibernate.cfg. Configuration:
- 1. Configuration cfg = new Configuration ();
- 2. cfg.addAnnotatedClass (People.class);
Взаимодействие с БД: создание, удаление, чтение и изменение сущностей.
Создание объекта в БД
Пример создания объекта (строки) в БД.
- 1. public static void create (Object о)
- 2. {
- 3. try {
- 4. Session session = HibernateUtil.getSession ();
- 5. session.beginTransaction ();
- 6. session.save (o);
- 7. session.getTransaction ().commit ();
- 8. session.close ();
- 9. } catch (HibernateException е) {
- 10. e.printStackTrace ();
И. >
В третьей строке мы обращаемся к созданному классу для получения сессии.
Четвертая строчка — начало транзакции, шестая — конец транзакции или просто коммит, то есть те запросы, которые были между этими командами описаны, отправятся на сервер БД, и там появятся данные.
Пятая строчка отвечает за генерацию кода, обеспечивающую создание объекта, при этом запрос будет выглядеть примерно следующим образом:
Hibernate: insert into people (firstName, lastName, middleName, year) values (?,?,?,?).
Пример сохранения объекта:
- 1. People people = new People ();
- 2. people.setFirstName ("Иванов");
- 3. people.setLastName ("Иван");
- 4. people.setMiddleName ("Иванович");
- 5. people.setYear (21);
- 6. create (people);
В БД появится запись, как показано на рис. 2.2.

Рис. 2.2. Результат добавления данных через функцию hibernate