..
온라인 강좌
  • 페이스 북에 우리를 따르라
  • 트위터에 우리를 따르라
  • + Google에 우리를 따르라
  • RSS를 통해 우리를 따르라
  • 귀하의 스마트폰으로 우리를 따라

데이터 액세스 - DAO와 트랜잭션 관리를 만들기

전항의 예제를 참조, 우리는 엔티티 자동차로 DAO를 만드는 방법을 참조하십시오.

즉, DAO를 기반 방법은 모든 creaimo 우선 인터페이스 :로드, 업데이 트하고, 삭제, 저장합니다.



 it.mrwebmaster.hibernate.dao 패키지;




 it.mrwebmaster.hibernate.Car 수입;




 CarDao {공용 인터페이스


  

 공용 차량 하중 (정수 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 = "PU")

  

 개인 EntityManager 놈들;

	
  

 @ 무시

  

 공공 무효 제거 (자동차 카) {

    

 em.remove (자동차);

  

 }


  

 @ 무시

  

 @ 트랜잭션 (읽기 전용 = 진정한)

  

 공용 차량 하중 (정수 ID) {

    

 em.find (Car.class, ID)를 반환;

  

 }


  

 @ 무시

  

 공용 차량 (자동차 자동차) {저장

    

 (자동차) em.persist;

    

 자동차를 반환;

  

 }


  

 @ 무시

  

 업데이트 공개 차량 (자동차 카) {

    

 em.merge 리턴 (문자);

  

 }


  

 공공 무효 SETEM (EntityManager 놈들) {

    

 this.em = 놈들;

  

 }


  

 getEm 공개 EntityManager () {

    

 m을 반환;

  

 }



 }

그리고 마지막으로 'applicationContext.xml에서 :


 <-! 차 DAO ->



 <bean id="carDaoImp​​l" class="it.mrwebmaster.hibernate.dao.CarDaoImp​​l" />

nosto DAO를 구현하는 볼 수 있듯이 우리는 주석 @ PersistenceContext의 사용을 통해 'IOC에서 직접가 주입되는 EntityManager를해야합니다.

(기사는 아래에 계속됩니다 ...)

구현의 개별적인 방법이 놀랍도록 정교하고 있으며, 단순히 작업 all'EntityManager을 위임합니다. 트랜잭션 관리에 관해서는 @ 트랜잭션 주석을 사용하도록 선택했습니다. 이 봄 우리의 DAO가 누구의 업무의 경우에는 커밋 또는 롤백하여 동일한 방법으로 '출력 방법과 즉시 호출하기 전에 거래를 열고 닫습니다 프록시를 사용의 인스턴스를 만들 수 있습니다 실수.
참고 결국로드 방식에 대한 @ 트랜잭션 읽기 전용 nell'annotation의 사용, 그럼으로써의 읽기 전용의 변화를 만들었습니다.

이 트랜잭션 관리는 그것이 우리 applicazionContext.xml에 추가할 수 있도록하기 위해 AOP를 사용하여 수행됩니다 :



 <-! 경영 거래 ->



 <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">

  

 <property name="entityManagerFactory" ref="en​​tityManagerFactory" />



 </ 빈>



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

코스
리눅스 강좌 리눅스 강좌
오픈 소스 시스템에 완전한 가이드. 39 €부터 시작.
PHP 강좌 PHP 강좌
동적 웹 사이트를 만드는 전체 과정. 49 €부터 시작.
코스 루비와 레일에 루비 코스 루비와 레일에 루비
루비와 RoR로 소프트웨어와 웹 애플 리케이션을 생성. 49 €부터 시작.
개요
광고

cpclubpenguincheatscp.com

광고
회사 소개
미국의 소리 접촉하기
공동 작업
면책 조항
© 2003년에서 2012년까지 cpclubpenguincheatscp.com - 이탈리아 웹마 스터의 포털 - 판권 소유 |에 의해 구동 인터넷 미디어 IKIweb Srl - PIVA 02848390122