2012-11-28 3 views
0

는이 전 기업 A와 기업 B에 엔티티 A는 나는 그것이 하나 이상의 자식 객체의 다른 그것과 관련이있는 경우에만 경우에 행을 지속 할 최대 절전 모드 부모 자식 관계

B.

과 @OneToMany 관계를 가지고 있다고 가정 해 봅시다 예외를 throw합니다. 난 당신이 사용하는 최대 절전 모드의 버전을 언급 무시 최대 절전 모드

답변

1

위의 요구 사항을 달성 할 수있는 방법

. 어쨌든 이는 유효성 확인 범위에 속합니다. 다행히, 최대 절전 모드 3, 4 모두 당신은 일을 할 최대 절전 모드 검사기를 이용할 수있다 :

public class EntityB implements Serializable { 
} 

public class EntityA implements Serializable { 
    @NotNull 
    @Size(min = 1) 
    private Set<EntityB> relatedEntities; 
} 

당신은 순서대로 프로젝트에 최대 절전 모드 검사기 항아리에 끌어해야이 작업을 수행 할 수 있도록.

1

Entity 클래스 : Register.class

공용 클래스 등록 {

개인 긴 REGID;

@OneToMany (mappedBy = "등록")

개인 설정 addrSet;

공개 설정 getAddrSet() {

return addrSet; 

} 

public void setAddrSet(Set<Address> addrSet) { 
    this.addrSet = addrSet; 
} 

}

엔티티 클래스 : Address.java

공용 클래스 주소 {

개체 값;

@ManyToOne

개인 레지스터 reg;

공공 등록 getReg() {

return reg; 

} 

public void setReg(Register reg) { 
    this.reg = reg; 
} 

}

공공 무효 클래스 searchObject() {

공개 목록 LST; 공공 레지스터 searchRegisterRow (긴 REGID) {

Session session = null; 

SessionFactory sessionFactory = null; 

register result = null; 

    try{  

     sessionFactory = new Configuration().configure().buildSessionFactory();  
     session =sessionFactory.openSession(); 
     String SQL_QUERY ="from Register r where r.redId = "+regId; 
     Register reg = session.createQuery(SQL_QUERY); 

      for(Iterator it=lst.iterator();it.hasNext();){ 


          reg=(Register)it.next(); 

      if(reg.getAddrSet().size() > 0){ 

           result = reg; 

          } 
          else{ 

           throw new Exception(); 

          } 

     } 

     return result; 
    } 
    }catch(Exception e){ 

     System.out.println(e.getMessage()); 

    }finally{ 
     // Actual contact insertion will happen at this step 
     session.flush(); 

     session.close(); 

     } 

} }

난 당신이 위의 코드를 시도한다고 생각합니다. 이것은 당신을 도울 것입니다.