En guide til EclipseLink med foråret

1. Oversigt

Spring Data bruger som standard dvale som standardudbyder af JPA-implementering.

Men dvale er bestemt ikke den eneste JPA-implementering, vi har til rådighed.

I denne artikel gennemgår vi de nødvendige trin til opsætning EclipseLink som implementeringsudbyder for Spring Data JPA.

2. Maven-afhængighed

For at bruge det i vores Spring-applikation skal vi bare tilføje org.eclipse.persistence.jpa afhængighed i pom.xml af vores projekt:

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

Som standard kommer Spring Data med dvaletilstandsimplementeringen.

Da vi vil bruge EclipseLink i stedet for som JPA-udbyder har vi ikke brug for det længere.

Derfor kan vi fjerne det fra vores projekt ved at ekskludere dets afhængigheder:

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

Det næste trin er at fortælle Spring Framework, som vi vil bruge EclipseLink som JPA-implementeringen.

3. Forårskonfiguration

JpaBaseConfiguration er en abstrakt klasse, der definerer bønner til JPA i Spring Boot. For at tilpasse det er vi nødt til at implementere nogle metoder som createJpaVendorAdapter () eller getVendorProperties ().

Spring giver en konfigurationsimplementering for dvale uden for boksen kaldet DvaletilstandJpaAutoConfiguration. Dog for EclipseLink, vi er nødt til at oprette en brugerdefineret konfiguration.

Først skal vi implementere createJpaVendorAdapter () metode, der specificerer den JPA-implementering, der skal bruges.

Foråret giver en gennemførelse af AbstractJpaVendorAdapter til EclipseLink hedder EclipseLinkJpaVendorAdapter som vi skal bruge i vores metode:

@Configuration offentlig klasse EclipseLinkJpaConfiguration udvider JpaBaseConfiguration {@Override beskyttet AbstractJpaVendorAdapter createJpaVendorAdapter () {returner ny EclipseLinkJpaVendorAdapter (); } // ...}

Vi er også nødt til at definere nogle sælger-specifikke egenskaber, som vil blive brugt af EclipseLink.

Vi kan tilføje disse via getVendorProperties () metode:

@ Override beskyttet kort getVendorProperties () {HashMap-kort = nyt HashMap (); map.put (PersistenceUnitProperties.WEAVING, sandt); map.put (PersistenceUnitProperties.DDL_GENERATION, "drop-and-create-tables"); returkort; }

Klassen org.eclipse.persistence.config.PersistenceUnitProperties indeholder egenskaber, som vi kan definere til EclipseLink.

I dette eksempel har vi specificeret, at vi vil bruge vævning og genskabe databaseskemaet, når applikationen kører.

Og det er det! Dette er hele den nødvendige implementering for at skifte fra standard dvale-JPA-udbyderen til EclipseLink.

Bemærk, at Spring Data bruger JPA API og ikke nogen leverandørspecifikke metoder. Så i teorien burde der ikke være noget problem, når man skifter fra en leverandør til en anden.

4. Konklusion

I denne hurtige vejledning dækkede vi, hvordan du ændrer standard JPA-implementeringsudbyderen, der bruges af Spring Data.

Vi så, hvor hurtigt og simpelt det er at skifte fra dvale, som er standard til EclipseLink.

Som altid er den fulde implementering af eksemplerne tilgængelig på Github.


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