2010-03-27 2 views
3

동일한 테이블을 참조하는 기본 키와 외래 키가 포함 된 테이블이 있습니다. 공상최대 절전 모드에서 동일한 테이블 내에서 일대 다 매핑이 ​​가능

@Entity 
public class Employee implements Serializable { 
    private Long empid; 
    private String ename; 
    private Employee manager; 
    private Set<Employee> employees = new HashSet<Employee>(); 
    private Dept deptno; 
    private Date doj; 

    @Id 
    @GeneratedValue 
    public Long getEmpid() { 
     return empid; 
    } 

    public void setEmpid(Long empid) { 
     this.empid = empid; 
    } 

    @ManyToOne 
    public Employee getManager() { 
     return manager; 
    } 

    public void setManager(Employee manager) { 
     this.manager = manager; 
    } 

    @OneToMany(mappedBy = "manager") 
    public Set<Employee> getEmployees() { 
     return employees; 
    } 

    public void setEmployees(Set<Employee> employees) { 
     this.employees = employees; 
    } 

    @ManyToOne 
    public Dept getDeptno() { 
     return deptno; 
    } 

    public void setDeptno(Dept deptno) { 
     this.deptno = deptno; 
    } 

    // ... 
} 

아무것도 : 내가 최대 절전 모드에서이 매핑을 구현할 수있는 방법 ... 테이블 구조는 관계가 양방향 경우, 이런 식으로 뭔가를 할 수 ..

Dept (
    deptno pk, 
    dname, 
    location 
) 

employee (
    empid pk, 
    ename, 
    Manager Id Foregin key references Employee(empid), 
    deptno Foregin key references dept(deptno), 
    doj date, 
) 
+0

@pascal 선생님 .. – saurabh

+0

당신은 무엇을 시도? 일대일 매핑은 다른 엔티티 매핑보다 특별한 차이점이 없습니다. –

+0

@donoroby 위 표의 매핑 파일을 제공해주세요. 실제로 매핑하는 방법을 알지 못합니다 .... – saurabh

답변

6

을 다음과 같다 Dept을 위해 :

는 회신을주세요
@Entity 
public class Dept implements Serializable { 
    private Long deptno; 
    private String dname; 
    private String location; 

    @Id 
    @GeneratedValue 
    public Long getDeptno() { 
     return deptno; 
    } 

    public void setDeptno(Long deptno) { 
     this.deptno = deptno; 
    } 

    // ... 
} 
+0

ur 응답을위한 고맙습니다. – saurabh

관련 문제