Sprievodca po EclipseLink s jarou

1. Prehľad

Spring Data štandardne používa Hibernate ako predvoleného poskytovateľa implementácie JPA.

Hibernate však určite nie je jediná implementácia spoločného parlamentného zhromaždenia, ktorá je k dispozícii.

V tomto článku si ukážeme kroky potrebné na nastavenie EclipseLink ako poskytovateľ implementácie pre Spring Data JPA.

2. Závislosť od Maven

Ak ho chcete použiť v našej jarnej aplikácii, stačí pridať org.eclipse.persistence.jpa závislosť v pom.xml nášho projektu:

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

Spring Data je štandardne dodávaná s implementáciou Hibernate.

Keďže chceme použiť EclipseLink namiesto poskytovateľa JPA to už nepotrebujeme.

Preto ho môžeme z nášho projektu odstrániť vylúčením jeho závislostí:

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

Ďalším krokom je povedať jarnému rámcu, ktorý chceme použiť EclipseLink ako implementácia Spoločného parlamentného zhromaždenia.

3. Konfigurácia pružiny

JpaBaseConfiguration je abstraktná trieda, ktorá definuje fazuľa pre JPA v Spring Boot. Aby sme to prispôsobili, musíme implementovať niektoré metódy ako createJpaVendorAdapter () alebo getVendorProperties ().

Jar poskytuje implementáciu konfigurácie pre režim dlhodobého spánku po vybalení z krabice HibernateJpaAutoConfiguration. Avšak pre EclipseLink, musíme vytvoriť vlastnú konfiguráciu.

Najprv musíme implementovať createJpaVendorAdapter () metóda, ktorá špecifikuje implementáciu JPA, ktorá sa má použiť.

Jar poskytuje implementácia AbstractJpaVendorAdapter pre EclipseLink zavolal EclipseLinkJpaVendorAdapter ktoré použijeme v našej metóde:

@Configuration verejná trieda EclipseLinkJpaConfiguration rozširuje JpaBaseConfiguration {@Override chránený AbstractJpaVendorAdapter createJpaVendorAdapter () {návrat nový EclipseLinkJpaVendorAdapter (); } // ...}

Niektoré musíme tiež definovať vlastnosti špecifické pre dodávateľa, ktoré použije EclipseLink.

Tieto môžeme pridať cez getVendorProperties () metóda:

@Override chránená mapa getVendorProperties () {HashMap mapa = nová HashMap (); map.put (PersistenceUnitProperties.WEAVING, pravda); map.put (PersistenceUnitProperties.DDL_GENERATION, "drop-and-create-tables"); spiatočná mapa; }

Trieda org.eclipse.persistence.config.PersistenceUnitProperties obsahuje vlastnosti, ktoré môžeme definovať EclipseLink.

V tomto príklade sme určili, že chceme použiť tkanie a znovu vytvoriť databázovú schému pri spustení aplikácie.

A je to! Toto je celá implementácia nevyhnutná na zmenu z predvoleného poskytovateľa Hibernate JPA na EclipseLink.

Upozorňujeme, že Spring Data používa API JPA a nie akékoľvek metódy špecifické pre dodávateľa. Teoreticky by teda nemal nastať problém pri prechode od jedného dodávateľa k druhému.

4. Záver

V tomto rýchlom výučbe sme sa venovali tomu, ako zmeniť predvoleného poskytovateľa implementácie JPA používaného Spring Data.

Videli sme, aké rýchle a jednoduché je prejsť z režimu dlhodobého spánku, ktorý je predvolený na EclipseLink.

Úplná implementácia príkladov je ako vždy k dispozícii na stránkach Github.


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