..
Teraz zobaczymy, jak utworzyć warstwę ORM przy użyciu Hibernate 3 i JPA 2 (dla właściwego zrozumienia tej lekcji, to przyjmuje się, że czytelnik posiada podstawową wiedzę o źródle danych i działanie Hibernate i JPA).
Załóżmy, że mamy DB MySQL zainstalowany na naszym komputerze, najpierw zdefiniujmy naszą applicationContext.xml źródła danych, które łączy się z naszym DB:
<- Źródło danych -> <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>Gdy tworzymy źródło danych utworzone dla jednostki JPA trwałości znajduje się w META-INF/persistence.xml pliku:
<? Wersja Xml = "1.0" encoding = "UTF-8"?> <Trwałość 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" /> </ Trwałość>W tym momencie jesteśmy gotowi do integracji z Hibernate i JPA:
<- JPA i 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>Bez tego nasze creaimo EntityManagerFactory, że pozwoli nam wprowadzić DAO do naszego EntityManger:
<- PODMIOT dyrektor fabryki -> <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>Przykład jednostka tworzymy teraz samochodów:
pakiet it.mrwebmaster.hibernate;
import java.util.Date;
javax.persistence.Column importu;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
javax.persistence.Id importu;
import javax.persistence.PersistenceUnit;
@ Entity
@ PersistenceUnit (unitName = "może")
publicznej samochodów klasy {
@ Override
String toString publicznych () {
return "Car [id =" + id + "name =" + nazwa + ", year =" + rok + "]";
}
@ Id
@ GeneratedValue
prywatnych id String;
@ Column
prywatnych String name;
@ Column
prywatnych roku Data;
publicznej Integer getId () {
powrót id;
}
publicznych getName String () {
powrót nazwa;
}
publicznych getYear Date () {
powrót roku;
}
public void setId (Integer id) {
this.id = id;
}
publicznych ustawNazwe void (String nazwa) {
this.name name =;
}
publicznych setYear void (rok Data) {
this.year = rok;
}
}
Nasza jednostka ma tylko trzy kolumny: Id, Nazwa i rok, w którym w kolumnie Id jest nasz klucz podstawowy, który zostanie wygenerowany automatycznie przez Hibernate.
<- Adnotacji JPA -> <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />nie jest konieczne, aby określić, w jednostce trwałości, listę podmiotów w naszej aplikacji.
| |
Linux (Kurs)
Kompletny przewodnik do systemu open-source. Od 49 €. |
| |
PHP (Kurs)
Pełny kurs tworzenia dynamicznych stron internetowych. Od 49 €. |
| |
Ruby i Ruby on Rails (Kurs)
Tworzenie oprogramowania i aplikacji webowych w języku Ruby RoR. Od 39 €. |