2010-04-07 5 views
1

Hibernate에서 부모/자식 관계 관리 (추가, 삭제, 자식 가져 오기, 부모 설정 등)를 포함하는 Generic DAO 구현을 찾고있다.부모/자식 관계 및 DAO/DTO 패턴을위한 Hibernate GenericDAO

실제로 웹상에서 가장 많이 사용되는 DAO는 jboss.org에서 찾은 것입니다.

또한 DAO/DTO 샘플 구현 및 디자인 패턴을 찾고있었습니다.

좋은 자료가 있습니까?

+0

왜 당신은 그냥 최대 절전 모드 사용하지 않는 원격 서비스 인터페이스? – blockhead

+0

내가이 주제에 대한 최대 절전 모드 리소스를 찾고 있었다 – Mark

답변

2

: 봐.

부모/자식 링크 관리를 엔티티 수준 (모든 엔티티에 상위/하위 항목이있는 것은 아님)로 유지하지만 설명 된대로 양방향 링크로 작업 할 때 양쪽에 링크 관리 방법을 만듭니다. 1.2.6. Working bi-directional links.

실제로 웹에서 가장 많이 사용되는 제네릭 DAO는 jboss.org에서 찾은 것입니다.

Google 코드에 샘플이있는 프로젝트가 여러 개 있습니다. 내가 확인하는 게 좋을 것 :

  • generic-dao

    - JPA 데이터 액세스 개체 툴킷
  • daofusion - JPA/최대 절전 모드를 사용하여 자바 기반의 DAO 패턴의 구현입니다.
  • hibernate-generic-dao - 일반 DAO 구현 : 확장, 상세 검색,
+0

엔터티 수준에서 부모/자식 관리를 추가하면 엔터티 매핑에 사용자 지정 클래스 코드를 추가한다는 것을 의미하므로 (xml 매핑을 사용하고 있습니다.) 그렇게 생각하지 않습니까? 매핑의 복잡성과 유지 보수성을 향상시킬 수 있습니까? – Mark

+0

@Marco 어쨌든 XML 매핑에서 이러한 연관을 선언해야합니다 (링크의 양쪽면을 처리하는 메소드를 추가하는 것이 편리합니다. 매핑에 아무 것도 변경하지 않습니다). –

0

부모/자식 관계는 특별한 종류의 일대 다 관계이며 특별한 DAO와 상호 작용할 필요가 없습니다. 을 가지고, 당신은 주석 및/또는 최대 절전 모드/JPA를 사용하는 것을 선호하는 경우 Chapter 21. Example: Parent/Child

:

Parent p = new Parent(); 
Child c1 = new Child(); 
Child c2 = new Child(); 
// populate c1 and c2 
p.addChild(c1); 
p.addChild(c2); 
childDao.save(c1); 
childDao.save(c2); 
parentDao.save(p); 

실제로 예를 들어, 상위/하위 구현을 보여줍니다 최대 절전 모드 문서의 섹션있다 : 당신은 단순히 코드를 같이 쓰기 나는 (등 부모 설정, 어린이를 받고, 제거, 추가) 부모/자식 관계 관리를 포함 최대 절전 모드에서 일반 DAO 구현을 찾고 있어요 Taking JPA for a Test Drive