Hibernate - библиотека для решения задач объектно-реляционного отображения (ORM). Лицензия Lesser GPL.
ORM (Object-Relational Mapping, Объектно-Реляционное Отображение) - технология, которая связывает реляционные БД с классами и объектами объектно-ориентированных языков программирования.
Цель ORM: Обеспечить работу с данными в терминах классов, а не таблиц данных и напротив, преобразовать термины и данные классов в данные, пригодные для хранения в СУБД. Необходимо также обеспечить интерфейс для CRUD-операций над данными. В общем, необходимо избавиться от необходимости писать SQL-код для взаимодействия в СУБД.
Как правило:
- Таблицы связываются с Классами
- Колонки (столбцы) с полями классов
- Строки с объектами - экземплярами соответствующих классов.
- Отношение Один ко Многим и Многие к Одному соответствует коллекциям в Java (реализуется либо с помощью специальной колонки или с помощью отдельной таблицы).
- Отношение Многие ко Многим соответствует взаимным коллекциям в обоих связываемых классах и реализуется через дополнительную таблицу.
CRUD = Create Read Update Delete = создать, прочесть, обновить, удалить = INSERT SELECT UPDATE DELETE
Операция | SQL-оператор | Операция в протоколе HTTP |
---|---|---|
Создание (create) | INSERT | POST |
Чтение (read) | SELECT | GET |
Редактирование (update) | UPDATE | PUT или PATCH |
Удаление (delete) | DELETE | DELETE |
Для работы примера вам нужна установленная PostgeSQL
Впишите пароль для пользователя posgres в src/main/resources/META-INF/persistence.xml