1. Обзор
По умолчанию Spring Data использует Hibernate в качестве поставщика реализации JPA по умолчанию.
Тем не менее, Hibernate, конечно, не единственная реализация JPA доступна для нас.
В этой статье мы пройдемся по шагам, необходимым для настройки ЗатмениеЛинк в качестве поставщика реализации для Spring Data JPA.
2. Зависимость от Maven
Чтобы использовать его в нашем приложении Весна, мы просто должны добавить org.eclipse.persistence.jpa зависимости в пом.xml нашего проекта:
org.eclipse.persistence org.eclipse.persistence.jpa 2.7.0
По умолчанию Spring Data поставляется с реализацией Hibernate.
Так как мы хотим использовать ЗатмениеЛинк вместо этого, как поставщик JPA, мы не нуждаемся в нем больше.
Поэтому мы можем удалить его из нашего проекта, исключив его зависимости:
org.springframework.boot spring-boot-starter-data-jpa org.hibernate hibernate-entitymanager org.hibernate hibernate-core
Следующим шагом будет сказать Весенней рамочной программе, что мы хотим использовать ЗатмениеЛинк как реализация JPA.
3. Весенняя конфигурация
JpaBaseКонфигурация это абстрактный класс, который определяет бобы для JPA в весенней загрузке. Чтобы настроить его, мы должны реализовать некоторые методы, такие как создатьJpaVendorAdapter () или getVendorProperties () .
Spring обеспечивает реализацию конфигурации hibernate из коробки под названием HibernateJpaAutoСоверхование . Тем не менее, для EclipseLink, мы должны создать пользовательскую конфигурацию.
Во-первых, мы должны реализовать создатьJpaVendorAdapter () метод, который определяет реализацию JPA для использования.
Весна обеспечивает реализации АбстрактJpaVendorAdapter для ЗатмениеЛинк называется EclipseLinkJpaВендорАдаптер которые мы собираемся использовать в нашем методе:
@Configuration public class EclipseLinkJpaConfiguration extends JpaBaseConfiguration { @Override protected AbstractJpaVendorAdapter createJpaVendorAdapter() { return new EclipseLinkJpaVendorAdapter(); } //... }
Кроме того, мы должны определить некоторые специфические свойства поставщика, которые будут использоваться EclipseLink.
Мы можем добавить их через getVendorProperties () метод:
@Override protected MapgetVendorProperties() { HashMap map = new HashMap<>(); map.put(PersistenceUnitProperties.WEAVING, true); map.put(PersistenceUnitProperties.DDL_GENERATION, "drop-and-create-tables"); return map; }
Классная org.eclipse.persistence.config.PersistenceUnitProperties содержит свойства, которые мы можем определить для ЗатмениеЛинк.
В этом примере мы указали, что при запуске приложения мы хотим использовать ткачество и повторное создание схемы базы данных.
И это все! Это вся реализация, необходимая для изменения от поставщика HIBERNATE JPA по умолчанию ЗатмениеЛинк.
Обратите внимание, что Spring Data использует API JPA, а не какие-либо конкретные методы поставщика. Таким образом, в теории, не должно быть никаких проблем при переходе от одного поставщика к другому.
4. Заключение
В этом быстром учебнике мы рассмотрели, как изменить поставщика реализации JPA по умолчанию, используемого Spring Data.
Мы видели, как быстро и просто это изменить от Hibernate который по умолчанию, чтобы ЗатмениеЛинк.
Как всегда, полная реализация примеров доступна более на Github .