..
หมายถึงตัวอย่างของวรรคก่อนเราจะเห็นวิธีการสร้าง DAO ไปยังรถยนต์ของกิจการ
แรกของทุก creaimo อินเตอร์เฟซด้วยวิธีการที่อยู่บนพื้นฐานของ DAO คือ : โหลด, บันทึก, ปรับปรุงและลบ
แพคเกจ it.mrwebmaster.hibernate.dao;
การนำเข้า it.mrwebmaster.hibernate.Car;
CarDao {interface สาธารณะ
โหลดรถสาธารณะ (Integer ID);
บันทึกรถสาธารณะ (รถ);
ปรับปรุงที่จอดรถสาธารณะ (รถ);
ถือเป็นโมฆะลบสาธารณะ (รถ);
}
ถูกสร้างขึ้นผ่านการสร้างการดำเนินงานของอินเตอร์เฟซที่ :
แพคเกจ it.mrwebmaster.hibernate.dao;
การนำเข้า it.mrwebmaster.hibernate.Car;
การนำเข้า javax.persistence.EntityManager;
การนำเข้า javax.persistence.PersistenceContext;
การนำเข้า org.springframework.transaction.annotation.Transactional;
@ รานแซคชัน
CarDaoImpl {คลาสที่สาธารณะดำเนินการ CarDao
@ PersistenceContext (unitName ="ปู")
ส่วนตัว em EntityManager;
@ แทนที่
ถือเป็นโมฆะลบสาธารณะ (รถ) {
em.remove (char);
}
@ แทนที่
@ รานแซคชัน (อ่านได้อย่างเดียว = true)
โหลดรถสาธารณะ (Integer id) {
กลับ em.find (Car.class, ID);
}
@ แทนที่
บันทึกรถสาธารณะ (รถ) {
em.persist (char);
กลับรถ;
}
@ แทนที่
ปรับปรุงที่จอดรถสาธารณะ (รถ) {
กลับ em.merge (char);
}
ถือเป็นโมฆะ setEm สาธารณะ (EntityManager em) {
this.em = p;
}
getEm EntityManager สาธารณะ () {
p กลับ;
}
}
และสุดท้ายใน'applicationContext.xml :
<-- รถยนต์ DAO --> <bean id="carDaoImpl" class="it.mrwebmaster.hibernate.dao.CarDaoImpl" />
ที่สามารถเห็นได้ในการดำเนินการของ DAO ที่เราต้อง nosta EntityManager ซึ่งจะถูกฉีดโดยตรงจาก IoC เรา'ผ่านการใช้บันทึกย่อ @ PersistenceContext
การใช้งานของแต่ละวิธีการที่จะจิ๊บจ๊อยเพียงแค่มอบหมาย all'EntityManager การทำงาน
ในฐานะที่เป็นสำหรับการจัดการการทำธุรกรรมได้เลือกที่จะใช้คำอธิบายประกอบธุรกรรม @
ฤดูใบไม้ผลินี้จะช่วยให้การสร้างตัวอย่างของ DAO ของเราจะใช้พร็อกซี่ที่มีหน้าที่คือการเปิดและปิดการทำธุรกรรมก่อนที่จะเรียกร้องให้วิธีการและทันทีหลังจากที่'ออกจากวิธีการที่ตัวเองจะทำกระทำการหรือย้อนกลับในกรณีที่เป็น ข้อผิดพลาด
หมายเหตุในที่สุดการใช้งานของการทำธุรกรรมของ nell'annotation @ อ่านได้อย่างเดียวสำหรับวิธีการโหลดในการทำเช่นนั้นได้สร้างการเปลี่ยนแปลงในแบบอ่านอย่างเดียว
จัดการการทำธุรกรรมนี้จะกระทำผ่านการใช้ AOP ที่จะเปิดใช้งานก็เพียงแค่เพิ่มให้กับของเรา applicazionContext.xml :
<--! การจัดการรายการ --> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> <Bean /> transaction-manager="transactionManager" <tx:annotation-driven />
| |
ลินุกซ์ (หลักสูตร)
คู่มือที่สมบูรณ์ในระบบเปิดแหล่งที่มา เริ่มต้นจาก 49 € |
| |
PHP (หลักสูตร)
หลักสูตรเต็มสำหรับการสร้างเว็บไซต์แบบไดนามิก เริ่มต้นจาก 49 € |
| |
Ruby และ Ruby on Rails (หลักสูตร)
การสร้างโปรแกรมประยุกต์ซอฟต์แวร์และเว็บที่มีทับทิมและ ร. เริ่มต้นจาก 39 € |