..
La oss nå se hvordan du oppretter en ORM lag med 3 Hibernate og JPA 2 (for den riktige forståelsen av denne leksjonen, antas det at leseren har grunnleggende kunnskaper om datakilden og drift av Hibernate og JPA).
Anta at vi har en DB MySQL installert på maskinen vår, først definere en datakilde i vår applicationContext.xml som kobles til db vår:
<-! Datakilde -> <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>Når vi oppretter en datakilde som er opprettet for JPA persistens enhet plassert i filen META-INF/persistence.xml:
<? Xml version = "1.0" encoding = "UTF-8"?> <Persistence 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" /> </ Utholdenhet>På dette punktet er vi klare å integrere med Hibernate og JPA:
<-! JPA og 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>Uten dette vårt creaimo EntityManagerFactory som vil tillate oss å injisere DAO inn EntityManger vår:
<- FACTORY MANAGER ENHET -> <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>Eksempel vi skape en Entity timer Bil:
it.mrwebmaster.hibernate pakke;
import java.util.Date;
javax.persistence.Column import;
javax.persistence.Entity import;
javax.persistence.GeneratedValue import;
javax.persistence.Id import;
javax.persistence.PersistenceUnit import;
@ Entity
@ PersistenceUnit (unitName = "pu")
public class Bil {
@ Override
public String toString () {
return "Car [id =" + id + ", name =" + navn + ", year =" + år + "]";
}
@ Id
@ GeneratedValue
private String id;
@ Column
private String navn;
@ Column
private Date år;
public Integer getId () {
tilbake id;
}
public String getName () {
returnere navn;
}
public Date getYear () {
tilbake år;
}
public void setId (Integer id) {
this.id = id;
}
public void setName (String navn) {
this.name = navn;
}
public void setYear (Dato år) {
this.year = år;
}
}
Våre Entity har bare tre kolonner: ID, navn og år, hvor Id kolonnen vil være vår Primærnøkkel som genereres automatisk av Hibernate.
<-! JPA kommentar -> <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />gjør det mulig å unngå å spesifisere innenfor utholdenhet enhet, listen over enheter i applikasjonen vår.
| |
Linux (Course)
Komplett guide til open-source system. Starter fra 49 €. |
| |
PHP (Course)
Full kurs for å lage dynamiske nettsider. Starter fra 49 €. |
| |
Ruby og Ruby On Rails (Course)
Opprette programvare og web applikasjoner med Ruby og RoR. Starter fra 39 €. |