Hibernate

Java, SQL, JDBC, Gradle, JUnit5

Ratings: 4.84 / 5.00




Description

Java - это backend язык программирования, следовательно, разработчиком всегда приходится работать с различными реляционными и не реляционными системами управления базами данных. На курсе по JDBC мы прошли материал, который позволяет нам без подключения дополнительных библиотек, чисто на Java Core работать с реляционными СУБД. Но мы видели, как сложно и единообразно писать маппинг сущностей из SQL запросов в базу данных и, наоборот, когда мы пытаемся сохранить какой-то Java объект в базу данных.
Другими словами говоря, мы много занимаемся рутинной работой для ORM (Object Relational Mapping).
Более того, единообразен и подход в выполнении CRUD (Create Read Update Delete) операций для всех сущностей.
И на помощь нам приходит один из самых актуальных и широко используемых в Java ORM фреймворков - Hibernate.
На этом курсе мы изучим, что такое ORM framework, что такое JPA спецификация и как к ней относится Hibernate.
Узнаем все основные маппинги сущностей, как реализованы реляционные связи в виде Java аннотаций.
Что такое SessionFactory и Session, и как найти соответствие им в JDBC.
Мы полностью пройдем жизненный цикл сущностей, узнаем их состояния и почему все вертится вокруг PersistenceContext.
Изучим два уровня кеширования в Hibernate, и как решить N+1 проблему!
Реализуем собственный слой DAO (и в чем его отличие от слоя Repository), который поможет нам разобраться с тонкостями работы транзакций и зачем использовать DTO при работе с Hibernate.
На каждом занятии мы будем заходить в исходный код, чтобы понимать, как все устроено изнутри!

What You Will Learn!

  • Hibernate, ORM
  • SQL
  • JDBC
  • PostgreSQL
  • H2
  • Docker
  • JSR 303
  • Ehcache
  • Log4j 2

Who Should Attend!

  • Для Java разработчиков, кто хочет познакомиться с Hibernate или углубить свои знания в нем