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 SjednicaTvornica – tako 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.