..


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

การเข้าถึงข้อมูล -- การสร้าง DAO และการทำธุรกรรมการจัดการ

หมายถึงตัวอย่างของวรรคก่อนเราจะเห็นวิธีการสร้าง 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;









 @ รานแซคชัน







 CarDaoImp​​l {คลาสที่สาธารณะดำเนินการ 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="carDaoImp​​l" class="it.mrwebmaster.hibernate.dao.CarDaoImp​​l" />



ที่สามารถเห็นได้ในการดำเนินการของ 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="en​​tityManagerFactory" />







 <Bean />







 transaction-manager="transactionManager" <tx:annotation-driven />



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