Пример работы магии Spring Boot, Spring Data JPA и аудита сущностей.
Хотя вся конфигурация будет описана в классах с использованием Java Config, в приложении есть файл
В качестве базы данных будем использовать H2 Database Engine.
По-умолчанию Spring Boot для Spring Data JPA при подключении драйвера базы данных HSQL, H2 или Derby создаёт DataSource с in-memory базой данных и инициализирует её файлами
Также помимо DataSource Spring Boot любезно создаст и EntityManagerFactory, который найдёт сущности в любом месте приложения.
Хотя вся конфигурация будет описана в классах с использованием Java Config, в приложении есть файл
application.properties
. Используется он потому, что эти настройки Spring Boot подхватывает на самой ранней стадии инициализации, а некоторые дефолтные настройки стоит заменить.В качестве базы данных будем использовать H2 Database Engine.
По-умолчанию Spring Boot для Spring Data JPA при подключении драйвера базы данных HSQL, H2 или Derby создаёт DataSource с in-memory базой данных и инициализирует её файлами
schema.sql
и data.sql
из ресурсов приложения. Также по умолчанию используется hibernate.hbm2ddl.auto=create-drop
, после чего мы получаем девственно чистую базу данных с таблицами, сгенерированными из сущностей. Зачем так сделано — загадка, но эту автогенерацию надо отключить параметром в файле application.properties
: spring.jpa.hibernate.ddl-auto=none
Также помимо DataSource Spring Boot любезно создаст и EntityManagerFactory, который найдёт сущности в любом месте приложения.