Основы Spring Data JDBC
Что добавляет Spring Data JDBC
Обычный JDBC даёт полный контроль над SQL, но вместе с ним приходится самостоятельно выполнять много повторяющейся работы: открывать операции чтения и записи, передавать параметры, превращать строки результата в объекты и организовывать типичный CRUD-код. Spring Data JDBC оставляет реляционную модель заметной, но берёт значительную часть этой механики на себя.
Основная единица работы здесь — объект предметной области, который отображается на таблицу. Для него можно объявить интерфейс репозитория, а Spring во время запуска создаст реализацию.
@Table("customers")
class Customer {
@Id
Long id;
String name;
}
interface CustomerRepository extends CrudRepository<Customer, Long> {
}
В этом примере Customer хранится в таблице customers,
поле id является идентификатором, а репозиторий получает базовые операции работы с данными.
Подробно каждый из этих механизмов разберём дальше.
Почему модель остаётся близкой к базе
Spring Data JDBC не пытается скрыть реляционную базу за сложным графом автоматически отслеживаемых объектов. В приложении по-прежнему важно понимать таблицы, ключи, SQL и границы данных, которые сохраняются вместе. Это делает поведение более прямолинейным: запрос к репозиторию означает реальную работу с базой, а не обращение к долговременно живущему persistence context.