Учебники

Hibernate — Постоянный класс

Вся концепция Hibernate состоит в том, чтобы взять значения из атрибутов класса Java и сохранить их в таблице базы данных. Документ сопоставления помогает Hibernate определить, как извлечь значения из классов и сопоставить их с таблицей и связанными полями.

Классы Java, чьи объекты или экземпляры будут храниться в таблицах базы данных, называются постоянными классами в Hibernate. Hibernate работает лучше всего, если эти классы следуют некоторым простым правилам, также известным как модель программирования Plain Old Java Object (POJO).

Существуют следующие основные правила постоянных классов, однако ни одно из этих правил не является жестким.

  • Все классы Java, которые будут сохранены, нуждаются в конструкторе по умолчанию.

  • Все классы должны содержать идентификатор, чтобы можно было легко идентифицировать ваши объекты в Hibernate и базе данных. Это свойство отображается в столбец первичного ключа таблицы базы данных.

  • Все атрибуты, которые будут сохранены, должны быть объявлены закрытыми и иметь методы getXXX и setXXX, определенные в стиле JavaBean.

  • Центральная особенность прокси-серверов Hibernate зависит от того, является ли постоянный класс не финальным, или от реализации интерфейса, который объявляет все открытые методы.

  • Все классы, которые не расширяют или не реализуют некоторые специализированные классы и интерфейсы, требуемые EJB-инфраструктурой.

Все классы Java, которые будут сохранены, нуждаются в конструкторе по умолчанию.

Все классы должны содержать идентификатор, чтобы можно было легко идентифицировать ваши объекты в Hibernate и базе данных. Это свойство отображается в столбец первичного ключа таблицы базы данных.

Все атрибуты, которые будут сохранены, должны быть объявлены закрытыми и иметь методы getXXX и setXXX, определенные в стиле JavaBean.

Центральная особенность прокси-серверов Hibernate зависит от того, является ли постоянный класс не финальным, или от реализации интерфейса, который объявляет все открытые методы.

Все классы, которые не расширяют или не реализуют некоторые специализированные классы и интерфейсы, требуемые EJB-инфраструктурой.

Имя POJO используется, чтобы подчеркнуть, что данный объект является обычным Java-объектом, а не специальным объектом и, в частности, не Enterprise JavaBean.

Простой пример POJO

Основываясь на нескольких правилах, упомянутых выше, мы можем определить класс POJO следующим образом: