..


Рекламные ссылки

Доступ к данным - Создание слоя ORM использованием Hibernate и JPA

Теперь давайте посмотрим, как создать слой с помощью ORM Hibernate 3 и JPA 2 (для правильного понимания этого урока, то предполагается, что читатель имеет базовые знания об источнике данных и работы Hibernate и JPA).

Пусть у нас есть БД MySQL установлен на нашей машине, сначала давайте определим наши applicationContext.xml источника данных, которое подключается к нашим БД:






 <! - Источник данных ->







 <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" />







 </ Бин>



Как только мы создаем источник данных, созданный для JPA единицы сохранения в файле META-INF/persistence.xml:





 <? Xml версия = "1.0" кодирования = "UTF-8"?>







 <Сохранение 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"



  



 Версия = "2.0">







 <persistence-unit name="pu" transaction-type="RESOURCE_LOCAL" />







 </ Сохранение>



На данный момент мы готовы к интеграции с Hibernate и JPA:





 <! - JPA и 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" />







 </ Бин>



Без этого наша creaimo EntityManagerFactory, которая позволит нам внедрить DAO в нашу EntityManger:





 <! - ENTITY директора завода ->







 <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">



  



 <property name="dataSource" ref="myDataSource" />



  



 <property name="persistenceUnitName" value="pu" />



  



 <property name="jpaVendorAdapter" ref="jpaVendorAdapter" />







 </ Бин>



Entity Например, мы создаем сейчас автомобиль:





 it.mrwebmaster.hibernate пакет;









 импорт java.util.Date;









 javax.persistence.Column импорта;







 javax.persistence.Entity импорта;







 javax.persistence.GeneratedValue импорта;







 javax.persistence.Id импорта;







 javax.persistence.PersistenceUnit импорта;









 @ Entity







 @ PersistenceUnit (unitName = "может")







 общественные автомобилей класса {





  



 @ Override



  



 общественных ToString String () {



    



 возвращение "автомобилей [ID =" + ID + "имя =" + имя + ", год =" + год + "]";



  



 }





  



 @ Id



  



 @ GeneratedValue



  



 частные идентификатор String;



	

  



 @ Column



  



 частное имя String;





  



 @ Column



  



 частные год Дата;





  



 общественное целое GetID () {



    



 возвращение идентификатора;



  



 }





  



 общественных деЬЫате String () {



    



 возвращение имени;



  



 }





  



 общественных GetYear Date () {



    



 возвращение год;



  



 }





  



 общественного недействительными SETID (Integer ID) {



    



 this.id = ID;



  



 }





  



 общественных зеЬЫате недействительным (String имя) {



    



 this.name = имя;



  



 }



	

  



 общественных setYear недействительными (дата год) {



    



 this.year = год;



  



 }







 }



Наше предприятие имеет только три столбца: Id, Name, и год, где Id колонке нашего первичного ключа, который будет сгенерирован автоматически Hibernate.
Указав в нашей конфигурации параметр "= истинный законопроект", Hibernate будет обновлять таблицы в нашей БД автоматически.
'S использование аннотации @ PersistenceUnit с этой конфигурацией линии nell'applicationContext Xml.:





 <! - JPA АННОТАЦИЯ ->







 <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />



избавляет от необходимости указать, в пределах единицы сохранения, список юридических лиц в нашем приложении.

Весна Java Руководство
E-Learning
Linux (курс) Linux (курс)
Полное руководство по открытым исходным кодом системы. От 49 €.
PHP (курс) PHP (курс)
Полный курс для создания динамических веб-сайтов. От 49 €.
Руби и Ruby On Rails (курс) Руби и Ruby On Rails (курс)
Создание программного обеспечения и веб-приложений с Рубином и RoR. С 39 €.
Рекламные ссылки