Vodič za EclipseLink s proljećem

1. Pregled

Prema zadanim postavkama Spring Data koristi Hibernate kao zadani pružatelj implementacije JPA.

Međutim, Hibernate zasigurno nije jedina dostupna nam provedba JPA-e.

U ovom ćemo članku proći korake potrebne za postavljanje EclipseLink kao pružatelja implementacije Spring Data JPA.

2. Ovisnost Mavena

Da bismo ga koristili u našoj proljetnoj aplikaciji, samo moramo dodati org.eclipse.persistence.jpa ovisnost u pom.xml našeg projekta:

 org.eclipse.persistence org.eclipse.persistence.jpa 2.7.0 

Prema zadanim postavkama Spring Data dolaze s implementacijom Hibernate.

Budući da želimo koristiti EclipseLink umjesto toga kao JPA davatelj usluge, on nam više nije potreban.

Stoga ga možemo ukloniti iz našeg projekta izuzimajući njegove ovisnosti:

 org.springframework.boot spring-boot-starter-data-jpa org.hibernate hibernate-entitymanager org.hibernate hibernate-core 

Sljedeći je korak reći Spring Frameworku koji želimo koristiti EclipseLink kao provedba ZPP-a.

3. Proljetna konfiguracija

JpaBaseConfiguration je apstraktna klasa koja definira grah za JPA u Spring Boot. Da bismo ga prilagodili, moramo primijeniti neke metode poput createJpaVendorAdapter () ili getVendorProperties ().

Spring pruža implementaciju konfiguracije za Hibernate iz okvira tzv HibernateJpaAutoConfiguration. Međutim, za EclipseLink, moramo stvoriti prilagođenu konfiguraciju.

Prvo, moramo implementirati createJpaVendorAdapter () metoda koja određuje primjenu JPA primjene.

Proljeće pruža provedba SažetakJpaVendorAdapter za EclipseLink pozvao EclipseLinkJpaVendorAdapter koju ćemo koristiti u našoj metodi:

@Configuration javna klasa EclipseLinkJpaConfiguration proširuje JpaBaseConfiguration {@Override protected AbstractJpaVendorAdapter createJpaVendorAdapter () {return new EclipseLinkJpaVendorAdapter (); } // ...}

Također, neke moramo definirati svojstva specifična za dobavljača koja će koristiti EclipseLink.

Možemo ih dodati putem getVendorProperties () metoda:

@Override zaštićena karta getVendorProperties () {HashMap karta = nova HashMap (); map.put (PersistenceUnitProperties.WEAVING, true); map.put (PersistenceUnitProperties.DDL_GENERATION, "ispuštaj i stvori tablice"); karta povratka; }

Razred org.eclipse.persistence.config.PersistenceUnitProperties sadrži svojstva koja možemo definirati EclipseLink.

U ovom smo primjeru naveli da želimo koristiti tkanje i ponovno stvoriti shemu baze podataka kada se aplikacija izvodi.

I to je to! Ovo je cjelokupna implementacija potrebna za promjenu sa zadanog davatelja usluga hibernate JPA na EclipseLink.

Imajte na umu da Spring Data koristi JPA API, a ne bilo koje metode specifične za dobavljača. Dakle, u teoriji ne bi trebalo biti problema pri prelasku s jednog dobavljača na drugog.

4. Zaključak

U ovom smo brzom vodiču objasnili kako promijeniti zadanog davatelja implementacije JPA koji koriste Spring Data.

Vidjeli smo kako je brzo i jednostavno promijeniti stanje hibernacije koje je zadano u EclipseLink.

Kao i uvijek, potpuna implementacija primjera dostupna je na Githubu.


$config[zx-auto] not found$config[zx-overlay] not found