Об’єкт доступу до даних (DAO)

Він відповідає за взаємодію з базою даних.

Нижче наведено типовий шаблон проєкту.

Application←→DAO←→Database

Методи об'єкта доступу до даних (DAO)

  • save()
  • findById()
  • findAll()
  • update()
  • delete()
  • deleteAll()

Що потрібно для JPA entityManager?

Для цього потрібне джерело даних, яке визначає інформацію для підключення до бази даних.

Як створюються JPA entityManager та джерело даних?

  • JPA entityManager і джерело даних автоматично створюються Spring Boot на основі файлу application.properties.
  • Ми можемо автозаповнити entityManager для DAO у застосунку.

DAO←→entityManager ←→dataSources ←→database

Як зрозуміти, коли використовувати JPA, а коли entityManager?

  • Якщо вам потрібен низькорівневий контроль і гнучкість, використовуйте entityManager.
  • Якщо ви хочете високий рівень абстракції, використовуйте JPA репозиторій.

EntityManager:

  • використовується, коли потрібен низькорівневий контроль над операціями з базою даних і потрібно писати власні запити.
  • Надає низькорівневий доступ до JPA і працює безпосередньо з сутностями JPA.
  • Складні запити, які потребують розширених функцій, таких як SQL запити або виклики збережених процедур.
  • Коли є спеціальні вимоги, які не можна легко вирішити за допомогою високорівневої абстракції.

JPA:

  • Надає стандартні операції CRUD «з коробки», зменшуючи кількість коду.
  • Надає додаткові функції, такі як пагінація та сортування.
  • Генерує запити на основі імен методів.
  • Також можна створювати власні запити за допомогою анотації @Query.

Ми можемо використовувати і JPA, і entityManager в одному проєкті.

Перекладено з: Data Access Object (DAO)

Leave a Reply

Your email address will not be published. Required fields are marked *