..
Dabar pažiūrėkime, kaip sukurti ORM sluoksniu naudojant Hibernate 3 ir JPA 2 (teisingai suprasti šią pamoką, daroma prielaida, kad skaitytojas turi pagrindinių žinių apie su duomenų šaltiniu ir Hibernate ir JPA operacija).
Tarkime, mes turime bazę MySQL įdiegta mūsų mašina, pirmiausia galime apibrėžti savo applicationContext.xml duomenų šaltinis, kuri jungia mūsų DB:
<- Duomenų šaltinio -> <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mrweb" /> <property name="username" value="mrweb" /> <property name="password" value="s3cret" /> </ Bean>Kai mes sukurti duomenų šaltinį sukurtas JPA atkaklumo vienetas esančios failą META-INF/persistence.xml:
<? Xml version = "1.0" encoding = "UTF-8"?> <Patvarumas xmlns = "http://java.sun.com/xml/ns/persistence" Xmlns: XSI = "http://www.w3.org/2001/XMLSchema-instance" XSI: schemaLocation = "http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version = "2.0"> <persistence-unit name="pu" transaction-type="RESOURCE_LOCAL" /> </ Patvarumas>Šiuo metu mes esame pasirengę integruotis su Hibernate ir JPA:
<- JPA ir Hibernate -> <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="database" value="MYSQL" /> <property name="showSql" value="true" /> <property name="generateDdl" value="true" /> </ Bean>Be šio mūsų creaimo EntityManagerFactory, kad leis mums Sušvirkškite DAO į mūsų EntityManger:
<- FACTORY MANAGER SUBJEKTAS -> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="myDataSource" /> <property name="persistenceUnitName" value="pu" /> <property name="jpaVendorAdapter" ref="jpaVendorAdapter" /> </ Bean>Subjektas pavyzdyje mes sukurti dabar Automobilis:
it.mrwebmaster.hibernate paketą;
importo java.util.Date;
javax.persistence.Column importo;
javax.persistence.Entity importo;
javax.persistence.GeneratedValue importo;
javax.persistence.Id importo;
javax.persistence.PersistenceUnit importo;
@ Asmens
@ PersistenceUnit (unitName = "galima")
visuomenės klasė Automobilių {
@ Valdymas
visuomenės Styginių toString () {
grįžti "Automobilių [id =" + ID + "name =" + vardas + ", year =" + metų + "]";
}
@ Id
@ GeneratedValue
asmeninįpranešimą String id;
@ Skiltis
asmeninįpranešimą String pavadinimas;
@ Skiltis
asmeninįpranešimą Data metus;
visuomenės sveikasis skaičius getId () {
grįžti ID;
}
visuomenės Styginių getName () {
grįžti pavadinimas;
}
visuomenės data getYear () {
grąžą per metus;
}
public void setId (Sveikasis skaičius id) {
this.id = ID;
}
public void setName (String vardas) {
this.name = vardas;
}
public void setYear (Data metus) {
this.year = metai;
}
}
Mūsų įmonė turi tik trys stulpeliai: id, name, ir metus, kur ID stulpelyje yra mūsų pagrindinis raktas, kuris bus sukurtas automatiškai Hibernate.
<-! JPA ANOTACIJA -> <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />todėl nebūtina nurodyti, per atkaklumą vienetas, subjektų mūsų paraiška, sąrašas.
| |
"Linux" (kurso)
Užbaigti vadovą, kad atviro kodo sistema. Nuo 49 €. |
| |
PHP (kurso)
Visas kursas sukurti dinaminius interneto svetainių. Nuo 49 €. |
| |
Ruby ir Ruby on Rails (kurso)
Sukurti programinę įrangą ir interneto programų su Ruby ir RoR. Nuo 39 €. |