Рубрики
Без рубрики

Руководство по EclipseLink с весной

Узнайте, как использовать Spring Data JPA с EclipseLink в качестве поставщика услуг по сохранению.

Автор оригинала: baeldung.

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 Map getVendorProperties() {
    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 .