En guide til EclipseLink med våren

1. Oversikt

Som standard bruker Spring Data Hibernate som standard JPA-implementeringsleverandør.

Imidlertid er Hibernate absolutt ikke den eneste JPA-implementeringen som er tilgjengelig for oss.

I denne artikkelen vil vi gå gjennom trinnene som er nødvendige for å sette opp EclipseLink som implementeringsleverandør for Spring Data JPA.

2. Maven avhengighet

For å bruke den i vårapplikasjonen, trenger vi bare å legge til org.eclipse.persistence.jpa avhengighet i pom.xml av prosjektet vårt:

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

Som standard kommer Spring Data med Hibernate-implementeringen.

Siden vi vil bruke EclipseLink i stedet som JPA-leverandør trenger vi ikke det lenger.

Derfor kan vi fjerne det fra prosjektet vårt ved å ekskludere avhengighet:

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

Det neste trinnet er å fortelle Spring Framework som vi vil bruke EclipseLink som JPA-implementeringen.

3. Vårkonfigurasjon

JpaBaseConfiguration er en abstrakt klasse som definerer bønner for JPA i Spring Boot. For å tilpasse det, må vi implementere noen metoder som createJpaVendorAdapter () eller getVendorProperties ().

Spring gir en konfigurasjonsimplementering for Hibernate out of the box som heter DvalemodusJpaAutoConfiguration. Imidlertid for EclipseLink, vi må lage en tilpasset konfigurasjon.

Først må vi implementere createJpaVendorAdapter () metode som spesifiserer JPA-implementeringen som skal brukes.

Våren gir en gjennomføring av SammendragJpaVendorAdapter til EclipseLink kalt EclipseLinkJpaVendorAdapter som vi skal bruke i vår metode:

@Configuration offentlig klasse EclipseLinkJpaConfiguration utvider JpaBaseConfiguration {@Override-beskyttet AbstractJpaVendorAdapter createJpaVendorAdapter () {returner nye EclipseLinkJpaVendorAdapter (); } // ...}

Vi må også definere noen leverandørspesifikke egenskaper som skal brukes av EclipseLink.

Vi kan legge til disse via getVendorProperties () metode:

@ Override-beskyttet kart getVendorProperties () {HashMap-kart = nytt HashMap (); map.put (PersistenceUnitProperties.WEAVING, true); map.put (PersistenceUnitProperties.DDL_GENERATION, "drop-and-create-tables"); retur kart; }

Klassen org.eclipse.persistence.config.PersistenceUnitProperties inneholder egenskaper som vi kan definere for EclipseLink.

I dette eksemplet har vi spesifisert at vi vil bruke veving og gjenopprette databaseskjemaet når applikasjonen kjører.

Og det er det! Dette er hele implementeringen som er nødvendig for å bytte fra standard dvalemodus JPA-leverandør til EclipseLink.

Vær oppmerksom på at Spring Data bruker JPA API og ikke noen leverandørspesifikke metoder. Så i teorien bør det ikke være noe problem når du bytter fra en leverandør til en annen.

4. Konklusjon

I denne raske opplæringen dekket vi hvordan du endrer standardleverandøren for JPA-implementering som brukes av Spring Data.

Vi så hvor raskt og enkelt det er å bytte fra dvalemodus som er standard til EclipseLink.

Som alltid er full implementering av eksemplene tilgjengelig på Github.


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