..
ตอนนี้ขอดูวิธีการสร้างชั้นออมใช้ Hibernate JPA 3 และ 2 (สำหรับความเข้าใจที่ถูกต้องของบทเรียนนี้มันจะสันนิษฐานว่าผู้อ่านมีความรู้พื้นฐานเกี่ยวกับแหล่งข้อมูลและการดำเนินงานของไฮเบอร์เนตและ 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" /> <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="database" 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="dataSource" 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 เป็นคีย์หลักของเราที่จะสร้างขึ้นโดยอัตโนมัติไฮเบอร์เนต
<--! บันทึกย่อ JPA --> <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />ทำให้ไม่จำเป็นต้องระบุภายในหน่วยวิริยะรายการของหน่วยงานในโปรแกรมของเรา
| |
ลินุกซ์ (หลักสูตร)
คู่มือที่สมบูรณ์ในระบบเปิดแหล่งที่มา จาก 49 € |
| |
PHP (หลักสูตร)
หลักสูตรเต็มสำหรับการสร้างเว็บไซต์แบบไดนามิก จาก 49 € |
| |
Ruby และ Ruby on Rails (หลักสูตร)
สร้างโปรแกรมซอฟต์แวร์และเว็บด้วยทับทิมและ ร. จาก 39 € |