Útmutató az EclipseLink tavasszal

1. Áttekintés

Alapértelmezés szerint a Spring Data a hibernált állapotot használja alapértelmezett JPA megvalósítási szolgáltatóként.

A Hibernate azonban természetesen nem az egyetlen rendelkezésünkre álló JPA-megvalósítás.

Ebben a cikkben áttekintjük a beállításhoz szükséges lépéseket EclipseLink mint a Spring Data JPA megvalósítási szolgáltatója.

2. Maven-függőség

A tavaszi alkalmazásunkhoz csak hozzá kell adnunk a org.clipse.persistence.jpa függőség a pom.xml projektünk:

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

Alapértelmezés szerint a Spring Data a hibernált megvalósítással érkezik.

Mivel használni akarjuk EclipseLink ehelyett JPA szolgáltatóként már nincs rá szükségünk.

Ezért a függőségek kizárásával eltávolíthatjuk a projektünkből:

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

A következő lépés az, hogy elmondjuk a tavaszi keretrendszert, amelyet használni akarunk EclipseLink mint a JPA végrehajtása.

3. Tavaszi konfiguráció

JpaBaseConfiguration egy absztrakt osztály, amely meghatározza a babot a JPA számára tavaszi csizmában. A testreszabásához meg kell valósítanunk néhány módszert, például createJpaVendorAdapter () vagy getVendorProperties ().

A Spring az úgynevezett dobozból biztosítja a hibernálás konfigurációs megvalósítását HibernateJpaAutoConfiguration. Azonban azért EclipseLink, létre kell hoznunk egy egyedi konfigurációt.

Először is meg kell valósítanunk a createJpaVendorAdapter () módszer, amely meghatározza az alkalmazandó JPA megvalósítást.

A tavasz egy a AbstractJpaVendorAdapter mert EclipseLink hívott EclipseLinkJpaVendorAdapter amelyet a módszerünkben használni fogunk:

A @Configuration nyilvános osztály EclipseLinkJpaConfiguration kiterjeszti a JpaBaseConfiguration {@Orride védett AbstractJpaVendorAdapter createJpaVendorAdapter () {return new EclipseLinkJpaVendorAdapter (); } // ...}

Ezenkívül meg kell határoznunk néhányat gyártóspecifikus tulajdonságok, amelyeket az EclipseLink fog használni.

Ezeket hozzáadhatjuk a getVendorProperties () módszer:

@Védje felül a védett térkép getVendorProperties () {HashMap map = new HashMap (); map.put (PersistenceUnitProperties.WEAVING, true); map.put (PersistenceUnitProperties.DDL_GENERATION, "drop-and-create-tables"); visszatérő térkép; }

Osztály org.eclipse.persistence.config.PersistenceUnitProperties olyan tulajdonságokat tartalmaz, amelyekre meghatározhatjuk EclipseLink.

Ebben a példában meghatároztuk, hogy szövést szeretnénk használni, és az alkalmazás futtatásakor újra létre kell hoznunk az adatbázis-sémát.

És ez az! Ez az a teljes megvalósítás, amelyre szükség van az alapértelmezett hibernált JPA szolgáltatóról a másikra történő áttéréshez EclipseLink.

Ne feledje, hogy a Spring Data a JPA API-t használja, és nem minden gyártóspecifikus módszert. Tehát elméletileg nem lehet probléma az egyik gyártóról a másikra váltáskor.

4. Következtetés

Ebben a gyors oktatóanyagban bemutattuk, hogyan lehet megváltoztatni a Spring Data által használt alapértelmezett JPA megvalósítási szolgáltatót.

Láttuk, hogy milyen gyorsan és egyszerűen lehet váltani a hibernált módról, amely az alapértelmezett EclipseLink.

Mint mindig, a példák teljes megvalósítása elérhető a Github oldalon.