Існує безліч способів роботи з реляційними базами даних, починаючи від вбудованих в JDK (JDBC) і закінчуючи багатофункціональними ORM технологіями (в основному, на основі JPA).
Spring Data — це проект, який було розпочато в 2008 році для того, щоб зменшити кількість рутинного коду, яке пише програміст. Після успішного старту пілотного проекту Spring Data JPA з’явилися інтеграції Spring Data з іншими технологіями доступу до даних (в основному NoSQL).
Але в цілому концепція Spring Data залишилася незмінною і базується на двох принципах:
1) Репозиторії для реалізації CRUD операцій.
2) Більш проста і декларативна робота з запитами.
У будь-якому випадку Spring Data JPA є ще одним рівнем абстракції над JPA, а той над JPA провайдером (Hibernate або EclipseLink). І все це є прикладом ORM технологій.
Розвиток ORM технологій призвів до ускладнення конфігурації і внутрішньої архітектури цих проектів, до того, що не так просто розібратися в причинах падіння ефективності і постійному використанню «милиць». І деякі розробники зі стажем все частіше згадували старі добрі часи JDBC, коли код був зрозумілим і не вимагав використання «магії».
Тому в 2018 році інженери Spring вирішили створити новий проект, який з одного боку використовував JDBC, а з іншого — міць і функціональність Spring (декларативна конфігурація і управління ресурсами/транзакціями).
На цьому воркшопі ми якраз і розглянемо цей проект — Spring Data JDBC, почавши від простих прикладів і закінчуючи найскладнішими і найцікавішими.
Головне для нас буде розібратися в різних підходах і їх перевагах та недоліках.
Для того, щоб перевага Spring Data JDBC була більш наочною, ми візьмемо існуючий Spring Data JPA (Hibernate) проект і постараємося його переписати на Spring Data JDBC.
Яка з технологій є більш швидкою і ефективною? З якими обмеженнями в Spring Data JDBC ви можете зіткнутися в роботі? На ці та багато інших питань відповість Сергій Моренець, розробник з
Хочете дізнатися більше про Spring Data JDBC? Підключайтеся до воркшопу 31 серпня в
Воркшоп для Java розробників будь-якого рівня.
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів