#spring_data_jpa

2025-05-28

[Перевод] Spring Data Ahead of Time репозитории

Команда Spring АйО перевела статью про новую версию AOT-репозиториев, которые позволяют генерировать реализацию методов запросов на этапе сборки. Это ускоряет запуск приложений, снижает потребление памяти и делает поведение репозиториев более прозрачным для разработчиков.

habr.com/ru/companies/spring_a

#spring #spring_boot #springboot #spring_framework #spring_data #spring_data_jpa #java #kotlin

2025-05-21

Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть вторая. Альтернативы

В предыдущей статье мы обсудили недостатки решений Spring в части доступа к данным. В ходе анализа решений Spring стало очевидно, что оба фреймворка используют радикально разные подходы в работе с данными. Казалось бы, контроль над запросами очень важен для приложений, особенно высоконагруженных. Но Spring Data JPA такого контроля не даёт. Лёгкость и простота изменения кода является залогом его чистоты и работоспособности, однако с этим есть сложности уже у Spring JDBC. Всего-то нужен фреймворк, предоставляющий полный контроль над запросами со стороны разработчика и не создающий трудностей при развитии, изменении и рефакторинге кода. В этой статье мы разберём две альтернативы, которые, на мой взгляд, в меньшей степени подвержены проблемам Spring Data JPA и Spring JDBC. Это будут jOOQ и Exposed.

habr.com/ru/companies/sberbank

#java #kotlin #spring #jooq #exposed #spring_data_jpa #spring_jdbc

2025-05-14

Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть первая. Решения Spring

С точки зрения доступа к базе данных, Java-сообщество однозначно делится на два лагеря: одни любят Spring Data JPA за его простоту и низкий порог вхождения, другие предпочитают Spring JDBC за его точность и возможность тюнинга запросов. И кого останавливает, что и то, и другое — Spring? Какую сторону выбрать? И Spring Data JPA, и Spring Data JDBC, при их очевидных достоинствах, имеют недостатки, делающие разработку на них не очень подходящей для прода. Эти решения являются двумя крайностями, а нам нужна золотая середина. Вы спросите: какие альтернативы? И я отвечу: давайте посмотрим на проблему шире. Вы джавист? Вам повезло — есть хорошая альтернатива. Котлинист? Ещё лучше — есть отличная альтернатива! О них и поговорим.

habr.com/ru/companies/sberbank

#java #kotlin #spring #jooq #exposed #spring_data_jpa #spring_jdbc

2025-02-13

Через тернии к рок-звездам: рассказываем, как прошел Java Rock Stars Meetup

Привет, Хабр! На связи Рустам, Developer Advocate в Axiom JDK. В сфере зарубежного IT-рекрутинга существует термин “rockstar” и речь здесь не о музыкантах и безумных вечеринках. Это титул для лучших из лучших талантов в разработке. Мы подготовили обзор первого Java Rock Stars Meetup — эксклюзивной встречи звезд индустрии с сообществом разработчиков, которая прошла в Москве. Под катом — погружение в атмосферу и записи докладов. Смотрим как это было!

habr.com/ru/companies/axiomjdk

#java #spring_framework #spring_security #spring_data_jpa

2024-12-28

Построение динамических запросов к базе данных с использованием Spring Data JPA Specifications

Spring Data JPA Specifications — мощный инструмент для написания динамических запросов в реляционных базах данных. Они позволяют строить сложные SQL-запросы в декларативной форме, комбинируя их с помощью предикатов, таких как AND , OR и т.д используя Java-код. В этой статье мы рассмотрим, зачем нужны Specifications, их преимущества и недостатки, а также лучшие практики для использования.

habr.com/ru/articles/870698/

#spring #spring_boot #spring_data_jpa #specifications

2024-12-03

Кастомные методы в JPA репозиториях

Рассмотрим варианты реализации кастомных методов в репозиториях Spring Data JPA. Как добавить кастомный метод к одному репозиторию? Как ко всем? Какие есть подводные камни?

habr.com/ru/articles/863234/

#java #spring_data_jpa #spring_boot #spring #orm

2024-11-20

Честный взгляд на Spring Data JPA

Spring Data JPA считается швейцарским ножом для работы с БД в Java. Однако Spring Data JPA не заслуживает своего триумфа и вот почему...

habr.com/ru/articles/860038/

#java #spring_data_jpa #hibernate #sql #плохой_код

2024-06-28

Как расширить JPA для работы с PostgreSQL

Всем привет! Меня зовут Антон, я — архитектор компании ITFB Group. Пережив несколько проектов, на которых встречается стек PostgreSQL с использованием связки PostgreSQL + JPA, мне удалось устранить большое количество проблем, связанных с неоптимальной интеграцией функциональности PostgresSQL в Java-приложения. В этой cтатье мы максимально подробно разберем, как можно настроить JPA для эффективной работы с PostgreSQL. Всем, кому интересна эта тема, добро пожаловать под кат)

habr.com/ru/companies/itfb/art

#postresql #jsonb #tsquery #hibernate #jpa #spring_data_jpa #dialect #sql #java #javascript

2024-05-27

Почему JOOQ — идеальный инструмент для работы с БД при интеграционном тестировании API

Привет! Меня зовут Евгений, я SDET-специалист в SimbirSoft. Хочу поделиться примером того, как я автоматизировал тестирование API, заменив встроенные JDBC-средства на JOOQ. И расскажу, почему считаю это лучшим решением. Все началось с того, что передо мной поставили задачу автоматизировать тестирование API с проверкой данных в БД. Так как проект только начинался, а я один отвечал за эту часть работы, то надо было сделать всё с нуля. Мне хотелось сделать все идеально (удобно, понятно, масштабируемо, с удобной поддержкой кода). Получилось все, кроме одного — масштабирование сверки данных из БД. Об этом и пойдет речь. А в конце вы найдете ссылку на исходный код. Читать далее 🐞

habr.com/ru/companies/simbirso

#jooq #jdb #тестирование_api #интеграционное_тестирование #автотесты #spring_data_jpa

2024-05-27

JOOQ. Введение

Техническое и философское осмысление библиотеки для взаимодействия с базой данных JOOQ . В введении мы бегло, но точно, пробежимся по верхам, что бы создать некоторый костях того, что в последующих статьях будет обрастать плотью.

habr.com/ru/articles/815771/

#jooq #jpa #java #spring_data_jpa #jdbc

2024-05-21

Custom Kafka Deserializer и Spring’овый контекст. Как инжектить в статические поля

В блоге

habr.com/ru/companies/beeline_

#разработка #spring_data_jpa #kafka

2024-05-17

Рецепты «приготовления» Hibernate, или решаем 5 проблем работы с фреймворком

Hibernate — очень мощный и функциональный ORM (Object-Relational Mapping) фреймворк. Он связывает базы данных с помощью объектно-ориентированных языков программирования. Однако многие, начиная с ним работать, натыкаются на проблемы производительности или отсутствия нужной функциональности. Многие из этих проблем появляются просто из-за того, что разработчики не умеют его «готовить». В статье делимся рецептами работы с Hibernate и Spring Data JPA: они помогут решить многие проблемы, возникающими при использовании фреймворка.

habr.com/ru/companies/magnit/a

#java #hibernate #spring_data_jpa #orm #magnit_tech #базы_данных #ооп

2024-01-26

Spring Data JPA и Hibernate: решаем проблему динамически изменяемого запроса к базам данных

Привет, Хабр! Меня зовут Николай Пискунов, я ведущий разработчик в подразделении Big Data. В блоге

habr.com/ru/companies/beeline_

#java #spring_data_jpa #hibernate #базы_данных

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst