Использование JPA Criteria в Spring Data Jpa

JPA Criteria API это мощный механизм по генерации динамических и типобезопасных (при использовании Metamodel) запросов, который напрямую поддерживается в Spring Data Jpa, тем самым снимая ограничения других подходов к описанию запросов, но оставляя при это необходимый минимум автоматизации и автоматической Читать далее Использование JPA Criteria в Spring Data Jpa

Запросы по примеру в Spring Data Commons

Несмотря на то, что Querydsl успешно решает проблему с динамическими и типобезопасными запросами в Spring Data Commons, есть причины и не использовать его: зависимость от дополнительной библиотеки, необходимость генерации вспомогательного кода, не совсем удобный (на мой взгляд) подход с дополнительными Читать далее Запросы по примеру в Spring Data Commons

Поддержка Querydsl в Spring Data Commons

В статье, посвящённой автоматической генерации запросов в Spring Data Commons, я упоминал о двух проблемах такого подхода: статичность запросов и одновременное отсутствие типобезопасности.  Одно из решений этой проблемы — библиотека Querydsl, которая позволяет строить запросы к данным (кстати не только Читать далее Поддержка Querydsl в Spring Data Commons

Определение запросов в Spring Data Common

Весь проект Spring Data Common (и его подпроект Spring Data Jpa) основан на предположении, что при разработке кода доступа к данным большая часть запросов делается только к одной сущности и при этом выполняется фильтрация по значениям полей этой сущности. То есть Читать далее Определение запросов в Spring Data Common

Hello, Spring Data JPA

Мечта официантки — чтобы клиенты обедали у себя дома, а чаевые присылали ей по почте. Я думаю разработчики тоже не отказались бы, чтобы программы писали себя сами, хотя бы малую часть. Именно это делает Spring Data JPA, который является частью Читать далее Hello, Spring Data JPA

Программное управление транзакциями в Spring

Spring реализует прекрасную поддержку декларативного управления транзакциями. В сущности всё управление сводится к корректной расстановке аннотации @Transactional, а всё остальное берёт на себя Spring. Но, в случае необходимости, можно взять контроль в свои руки и вернуть управление транзакциями в код. Этот пример Читать далее Программное управление транзакциями в Spring

Изоляция и распространение транзакций в Spring

В статье, посвящённой декларативному управлению транзакциями в Spring я обещал отдельно описать изоляцию транзакций друг от друга и их распространение. Это время пришло. Изоляция транзакций Я уже писал про побочные эффекты, вызываемые параллельным исполнением запросов. Уровни изоляции транзакций можно рассматривать как Читать далее Изоляция и распространение транзакций в Spring

Декларативное управление транзакциями в Spring

Транзакция — это очень важное понятие в мире баз данных (и не только). Каждый, кто работал с базами данных, слышал про ACID и транзакции. Если кто не работал и не знает что это такое, то всё просто: транзакция это набор Читать далее Декларативное управление транзакциями в Spring

Spring ORM и Hibernate

Spring облегчает использование Hibernate в приложениях,беря на себя создание объектов Hibernate и управление ими. Кроме того, Spring позволяет разделить конфигурацию Hibernate от конфигурации базы данных и конфигурации пула соединений. Подготовка Нам понадобится пустой maven проект с Spring, Spring ORM, H2, Читать далее Spring ORM и Hibernate

Spring ORM и JPA

Spring облегчает использование JPA в приложениях, избавляя разработчика от необходимости вручную создавать объекты JPA и отделяя логику приложения от конкретной реализации JPA. Spring обеспечивает унифицированный интерфейс для различных реализаций ORM, тем самым упрощая переход от одной реализации к другой. Подготовка Читать далее Spring ORM и JPA