..


Linki sponsorowane

Dostęp do danych - Tworzenie warstwy ORM przy użyciu Hibernate i JPA

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.
Mając określone w naszych parametrów konfiguracyjnych "= rachunek true", Hibernate będzie aktualizować tabele w naszej bazie danych automatycznie.
"S korzystania z adnotacji PersistenceUnit @ w tej konfiguracji linii nell'applicationContext Xml.:





 <- 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.

Wiosna Java Przewodnik
E-Learning
Linux (Kurs) Linux (Kurs)
Kompletny przewodnik do systemu open-source. Od 49 €.
PHP (Kurs) PHP (Kurs)
Pełny kurs tworzenia dynamicznych stron internetowych. Od 49 €.
Ruby i Ruby on Rails (Kurs) Ruby i Ruby on Rails (Kurs)
Tworzenie oprogramowania i aplikacji webowych w języku Ruby RoR. Od 39 €.
Linki sponsorowane