Явные блокировки в Spring Data Jpa

Блокировки в реляционных базах данных — механизм параллельной работы с одними и теми же данными в базе данных. Когда более чем одна транзакция пытается получить доступ к одним и тем же данным в одно и то же время, в дело вступают Читать далее Явные блокировки в Spring Data Jpa

Аннотации запросов в Spring Data Jpa

Spring Data Jpa предоставляет аннотации, которыми можно…задавать собственные запросы. Да да, ещё один метод 🙂 Код примеров ниже основан на коде из статьи Hello, Spring Data JPA @Query Аннотация @Query позволяет добавить свой собственный JPQL запрос.

В запросах можно использовать Читать далее Аннотации запросов в Spring Data Jpa

Сортировка и пагинация

Постраничный вывод результатов запроса — весьма популярно требование. И в этом нет ничего удивительного: ведь результатов может быть много, тысячи или сотни тысяч, и их тяжело обрабатывать человеку, который способен сконцентрироваться, в среднем, на семи предметах. Разумеется, в Spring Data Читать далее Сортировка и пагинация

Добавление собственного кода в репозитории Spring Data Common

Для самых тяжёлых случаев Spring Data Common поддерживает подмешивание собственного кода к генерируемым репозиториями. Код примеров ниже основан на коде из статьи Hello, Spring Data JPA Добавление кода к конкретному репозиторию Все не просто, а очень просто. Вначале необходимо описать Читать далее Добавление собственного кода в репозитории Spring Data Common

Использование 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