🏗️ Основи та архітектура

  • Що таке ORM і яку проблему вирішує ця технологія?
  • Яка роль Hibernate у Spring Boot додатку?
  • У чому різниця між JPA та Spring Data JPA?
  • Які основні залежності (dependencies) потрібно додати у pom.xml для роботи з БД?
  • Навіщо потрібен файл application.properties (або yml) при роботі з базою?

📝 Сутності (Entities)

  • Які анотації є обов'язковими для створення Entity-класу?
  • Чим відрізняється стратегія генерації ID IDENTITY від SEQUENCE?
  • Для чого використовується анотація @Column та її параметри nullable і unique?
  • Що станеться, якщо позначити поле анотацією @Transient?

🤝 Зв'язки (Relationships)

  • Як реалізувати зв'язок One-to-Many (один до багатьох)? Які анотації потрібні з обох сторін?
  • У чому різниця між FetchType.LAZY та FetchType.EAGER? Який тип кращий за замовчуванням?
  • Що таке MappedBy і на якій стороні зв'язку він вказується?
  • Як працює CascadeType.REMOVE?

🔍 Репозиторії та запити

  • Які базові інтерфейси надає Spring Data JPA (наприклад, JpaRepository, CrudRepository)?
  • Як працює механізм Query Methods (наприклад, findByStatus)?
  • Коли варто використовувати анотацію @Query, а не стандартні методи?
  • Чим JPQL відрізняється від звичайного SQL (Native Query)?
  • Як реалізувати пагінацію (Pagination) за допомогою Spring Data?

⚡ Транзакції та життєвий цикл

  • Що робить анотація @Transactional?
  • Що таке Dirty Checking у Hibernate?
  • Які стани може мати сутність (New, Managed, Detached, Removed)?
  • Навіщо потрібні інструменти міграції (Flyway або Liquibase) у реальних проєктах?



Остання зміна: середа 20 травня 2026 12:13 PM