2015-02-05 4 views
0

image이 주어진다면 다른 파일에 JoinColumn을 동시에 사용하고 싶습니다. mappedBy을 사용하고 싶습니다. 또는 mappedBy을 사용할 필요가 없다면 괜찮습니다.mappedBy Annotation을 사용해야하는 이유는 무엇입니까?

mappedBy을 사용해야하는 이유는 무엇입니까?

Employee.java

@Id 
@GeneratedValue 
@Column(name="employee_id") 
private Long employeeId; 

@Column(name="firstname") 
private String firstname; 

@Column(name="lastname") 
private String lastname; 

@Column(name="birth_date") 
private Date birthDate; 

@Column(name="cell_phone") 
private String cellphone; 

@ManyToOne 
@JoinColumn(name="department_id") 
private Department department; 

public Employee() { 

} 

public Employee(String firstname, String lastname, String phone) { 
    this.firstname = firstname; 
    this.lastname = lastname; 
    this.birthDate = new Date(System.currentTimeMillis()); 
    this.cellphone = phone; 
} 

// Getter and Setter methods 

Department.java

@Id 
@GeneratedValue 
@Column(name="DEPARTMENT_ID") 
private Long departmentId; 

@Column(name="DEPT_NAME") 
private String departmentName; 

@OneToMany(mappedBy="department") 
private Set<employee> employees; 

// Getter and Setter methods 

답변

2

왜 "mappedBy"를 사용해야합니까? 릴레이션이 BIDIRECTIONAL이라는 것을 정의하고 릴레이션의 다른 쪽을 지정하는 데 사용합니다 (1-1은 FK가있는 쪽에서 지정하고 1-N은 콜렉션 쪽에서 지정합니다). 관계가 단 일일 경우 "지정하지 마십시오"라고 지정하십시오. 절반 정도 괜찮은 JPA 문서를 읽으면 그 사실을 알 수 있습니다. 이 구현을 설명하는 문서가 아닙니다.

+0

내 예제에서 mappedBy를 사용하지 않았다면 어떤 일이 일어 났습니까 !!! – user2298562

+0

그러면 두 개의 독립적 인 관계가됩니다 !!!!! –

+0

그리고 maapedBy를 사용할 때 쿼리를 사용할 때 어떤 차이가 있습니까? – user2298562

관련 문제