..


ลิงก์ผู้สนับสนุน

การเข้าถึงข้อมูล -- การสร้างชั้นออมใช้ไฮเบอร์เนตและ JPA

ตอนนี้ขอดูวิธีการสร้างชั้นออมใช้ Hibernate JPA 3 และ 2 (สำหรับความเข้าใจที่ถูกต้องของบทเรียนนี้มันจะสันนิษฐานว่าผู้อ่านมีความรู้พื้นฐานเกี่ยวกับแหล่งข้อมูลและการดำเนินงานของไฮเบอร์เนตและ JPA)

สมมติว่าเรามีฐานข้อมูล MySQL การ ติดตั้งในเครื่องของเราก่อนขอกำหนดแหล่งที่มาของเรา applicationContext.xml ข้อมูลที่เชื่อมต่อกับฐานข้อมูลของเรา :






 <--! แหล่งข้อมูล -->







 <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">



  



 <property name="d​​riverClassName" 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 />



เมื่อเราสร้างแหล่งข้อมูลที่สร้างขึ้นสำหรับหน่วยการติดตา 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" />







 <คงทน />



ณ จุดนี้เราพร้อมที่จะทำงานร่วมกับไฮเบอร์เนตและ JPA :





 <--! JPA และ Hibernate -->







 <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">



  



 <property name="d​​atabase" value="MYSQL" />



  



 <property name="showSql" value="true" />



  



 <property name="generateDdl" value="true" />







 <Bean />



โดยไม่ต้อง creaimo EntityManagerFactory นี้ของเราที่จะช่วยให้เราสามารถฉีด DAO ลงใน EntityManger ของเรา :





 <--! ENTITY ผู้จัดการโรงงาน -->







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



  



 <property name="d​​ataSource" ref="myDataSource" />



  



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



  



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







 <Bean />



ตัวอย่างเอนติตีที่เราสร้างขึ้นในขณะนี้รถ :





 แพคเกจ 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



  



 สาธารณะ String toString () {



    



 "กลับรถ [id ="+ ID +"name ="ชื่อ + +", ปี ="ปี + +"]";



  



 }





  



 @ ID



  



 @ GeneratedValue



  



 id String เอกชน;



	

  



 คอลัมน์ @



  



 ชื่อ String เอกชน;





  



 คอลัมน์ @



  



 ปีวันที่เอกชน





  



 สาธารณะ getId Integer () {



    



 กลับ id;



  



 }





  



 สาธารณะ String getName () {



    



 กลับชื่อ;



  



 }





  



 วันที่ getYear สาธารณะ () {



    



 กลับปี;



  



 }





  



 ประชาชนเป็นโมฆะ setId (Integer id) {



    



 this.id id =;



  



 }





  



 setName โมฆะสาธารณะ (ชื่อ String) {



    



 ชื่อ this.name =;



  



 }



	

  



 setYear โมฆะสาธารณะ (ปีวันที่) {



    



 this.year ปี =;



  



 }







 }



องค์กรของเรามีเพียงสามคอลัมน์ : ID, ชื่อและปีที่คอลัมน์ id เป็นคีย์หลักของเราที่จะสร้างขึ้นโดยอัตโนมัติไฮเบอร์เนต
มีการระบุไว้ในการกำหนดค่าพารามิเตอร์"= การเรียกเก็บเงินจริง"ของเรา, Hibernate จะมีการปรับปรุงตารางในฐานข้อมูลของเราโดยอัตโนมัติ
'S การใช้งานของ PersistenceUnit @ บันทึกย่อกับบรรทัดนี้ nell'applicationContext การกำหนดค่า XML.





 <--! บันทึกย่อ JPA -->







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



ทำให้ไม่จำเป็นต้องระบุภายในหน่วยวิริยะรายการของหน่วยงานในโปรแกรมของเรา

แผนที่สปริง Java
E - Learning
ลินุกซ์ (หลักสูตร) ลินุกซ์ (หลักสูตร)
คู่มือที่สมบูรณ์ในระบบเปิดแหล่งที่มา จาก 49 €
PHP (หลักสูตร) PHP (หลักสูตร)
หลักสูตรเต็มสำหรับการสร้างเว็บไซต์แบบไดนามิก จาก 49 €
Ruby และ Ruby on Rails (หลักสูตร) Ruby และ Ruby on Rails (หลักสูตร)
สร้างโปรแกรมซอฟต์แวร์และเว็บด้วยทับทิมและ ร. จาก 39 €
ลิงก์ผู้สนับสนุน