Create a repository that will receive data from the database. In this repository, you need to create 2 methods that will receive the data. The request must be formed using method names. Also create 2 methods. One of the methods will update information in the database, and the second will delete data using annotation.
Створіть класи сутності, які відповідатимуть таблицям у БД.
Для створених у попередньому завданні сутностей створіть репозиторії для отримання та збереження даних у БД будь-яким із розглянутих на уроці методом.
Створіть репозиторій, який отримуватиме дані з БД. У цьому репозиторії необхідно створити 2 методи, які отримуватимуть дані. Запит має бути сформований за допомогою назв методів. Також створіть 2 методи. Один з методів оновлюватиме інформацію в БД, а другий видалятиме дані за допомогою анотації.
allow_update_outside_transaction - это параметр настройки Hibernate, который позволяет выполнить операцию обновления сущности вне контекста транзакции.
Когда Hibernate выполняет операцию сохранения, обновления или удаления сущности, он автоматически создает транзакцию для выполнения этой операции. Это означает, что операция сохранения, обновления или удаления будет выполнена только в рамках этой транзакции. Если же транзакция не была создана, Hibernate не будет выполнять операцию обновления.
Однако, в некоторых случаях может возникнуть необходимость выполнения операции обновления вне контекста транзакции, например, если вы работаете с несколькими базами данных и не хотите открывать транзакции для каждой базы данных.
Установка параметра allow_update_outside_transaction в значение true позволяет Hibernate выполнить операцию обновления сущности вне контекста транзакции. Однако, при использовании этой опции необходимо убедиться, что изменения будут сохранены в базе данных и что не произойдет потеря данных. Это может быть особенно важно, если вы обновляете несколько сущностей, которые должны быть обновлены в одной транзакции, чтобы гарантировать целостность данных.
hibernate.current_session_context_class - указывает, как контекст сеанса Hibernate будет управляться в рамках транзакции.
Аннотация @PersistenceContext используется в Java для инъекции Entity Manager в управляемый компонент (Managed Bean) в контейнере EJB или контейнере сервлетов.
Entity Manager - это интерфейс для работы с сущностями (Entity) в Java Persistence API (JPA), который используется для выполнения операций базы данных, таких как создание, чтение, обновление и удаление сущностей.
Использование @PersistenceContext указывает контейнеру на необходимость создания и инъекции Entity Manager в управляемый компонент. После инъекции Entity Manager можно использовать для выполнения операций базы данных в управляемом компоненте.