Podizanje hibernacije 5 s proljećem

1. Pregled

U ovom ćemo članku razgovarati o tome kako bootstrap Hibernate 5 s proljećem, koristeći i Java i XML konfiguraciju.

Ovaj se članak usredotočuje na proljetni MVC. Naš članak Spring Boot with Hibernate opisuje kako koristiti Hibernate u Spring Boot.

2. Proljetna integracija

Bootstrapping a SjednicaTvornica s izvornim Hibernate API-om je malo kompliciran i uzeo bi nam poprilično redaka koda (pogledajte službenu dokumentaciju u slučaju da to stvarno želite učiniti).

Srećom, Spring podržava bootstrapping SjednicaTvornicatako da nam treba samo nekoliko redaka Java koda ili XML konfiguracije.

3. Ovisnosti Mavena

Krenimo tako što ćemo prvo dodati potrebne ovisnosti u našu pom.xml:

 org.hibernate hibernate-core 5.4.2.Final 

Modul spring-orm pruža integraciju Spring s Hibernate:

 org.springframework spring-orm 5.1.6.Opusti 

Radi jednostavnosti koristit ćemo H2 kao našu bazu podataka:

 com.h2data baza podataka h2 1.4.197 

Konačno, koristit ćemo Tomcat JDBC Connection Pooling, koji u proizvodne svrhe odgovara više od DriverManagerDataSource pruža Spring:

 org.apache.tomcat tomcat-dbcp 9.0.1 

4. Konfiguracija

Kao što je već spomenuto, Spring nas podržava u pokretanju hibernacije SjednicaTvornica.

Sve što moramo učiniti je da definirajte neke grah kao i nekoliko parametara.

S proljećem jesmo dvije mogućnosti za ove konfiguracije, način zasnovan na Javi i XML-u.

4.1. Korištenje Java Konfiguracije

Za korištenje Hibernate 5 s Springom, malo se toga promijenilo od Hibernate 4: moramo koristiti LocalSessionFactoryBean iz paketa org.springframework.orm.hibernate5 umjesto org.springframework.orm.hibernate4.

Kao i kod Hibernate 4 prije, moramo definirati grah za LocalSessionFactoryBean, Izvor podataka, i PlatformTransactionManager, kao i neka svojstva hibernacije.

Stvorimo svoje HibernateConfig razred do konfigurirajte Hibernate 5 s Springom:

@Configuration @EnableTransactionManagement javna klasa HibernateConf {@Bean public LocalSessionFactoryBean sessionFactory () {LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean (); sessionFactory.setDataSource (dataSource ()); sessionFactory.setPackagesToScan ({"com.baeldung.hibernate.bootstrap.model"}); sessionFactory.setHibernateProperties (hibernateProperties ()); return sessionFactory; } @Bean public DataSource dataSource () {BasicDataSource dataSource = novi BasicDataSource (); dataSource.setDriverClassName ("org.h2.Driver"); dataSource.setUrl ("jdbc: h2: mem: db; DB_CLOSE_DELAY = -1"); dataSource.setUsername ("sa"); dataSource.setPassword ("sa"); vratiti dataSource; } @Bean public PlatformTransactionManager hibernateTransactionManager () {HibernateTransactionManageractionManager = novi HibernateTransactionManager (); actionManager.setSessionFactory (sessionFactory (). getObject ()); vratiti transakcijuManager; } privatni konačni Properties hibernateProperties () {Properties hibernateProperties = new Properties (); hibernateProperties.setProperty ("hibernate.hbm2ddl.auto", "create-drop"); hibernateProperties.setProperty ("hibernate.dialect", "org.hibernate.dialect.H2Dialect"); return hibernateProperties; }}

4.2. Korištenje XML konfiguracije

Kao sekundarnu mogućnost također možemo konfigurirajte Hibernate 5 pomoću XML-konfiguracije:

        create-drop org.hibernate.dialect.H2Dialect 

Kao što lako možemo vidjeti, definiramo točno iste grahove elemente i parametre kao u Java konfiguraciji ranije.

Za pokretanje XML-a u kontekst Spring, možemo koristiti jednostavnu Java konfiguracijsku datoteku ako je aplikacija konfigurirana s Java konfiguracijom:

@Configuration @EnableTransactionManagement @ImportResource ({"classpath: hibernate5Configuration.xml"}) javna klasa HibernateXMLConf {//}

Alternativno, možemo jednostavno pružiti XML datoteku Spring Contextu, ako je cjelokupna konfiguracija isključivo XML.

5. Upotreba

U ovom je trenutku Hibernate 5 u potpunosti konfiguriran s Springom, a mi to možemo ubrizgajte sirovi hibernat SjednicaTvornica izravno kad god trebamo:

javni sažetak klase BarHibernateDAO {@Autowired private SessionFactory sessionFactory; // ...}

6. Podržane baze podataka

Nažalost, projekt Hibernate ne pruža točno službeni popis podržanih baza podataka.

Kad se to kaže, lako je vidjeti može li se podržati određena vrsta baze podataka, možemo pogledati popis podržanih dijalekata.

7. Zaključak

U ovom brzom vodiču, konfigurirali smo Proljeće sa Hibernate 5 - s Java i XML konfiguracijom.

Kao i uvijek, puni izvorni kod primjera dostupan je na GitHub-u.