Регистрация классов-сущностей

Для того чтобы 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.

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

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >