인턴쉽을 위해 JPA Compliancy 킷에서 작업 중입니다 ...이 키트의 일부는 올바른 대소 문자 구별을 테스트하는 것입니다.양방향 연결을 위해 @ ManyToMany/@ OneToMany mappedby 속성
@ManyToMany
에는 mappedBy 속성이 있습니다. JPA는 다음과 같이 명시하고 있습니다.
String mappedBy - 관계를 소유 한 필드 또는 속성입니다. 관계가 단방향 인 경우가 아니면 필수입니다.
기본값은 지정되지 않습니다. 기본 열은 비어 있습니다.
주어진 양방향 @ManyToMany
-이 예제는 JPA 2.0 JSR-317 사양 자체입니다.
고객
@ManyToMany
@JoinTable(name="CUST_PHONES")
public Set<PhoneNumber> getPhones() { return phones; }
PHONENUMBER는
@ManyToMany(mappedBy="phones")
public Set<Customer> getCustomers() { return customers; }
mappedBy 속성은 Customer
의 @ManyToMany
에 정의되지 않은! 양방향 매핑에 대한 기본 설정이 있습니까?
@OneToOne
-
@ManyToMany
(mappedBy이 기본값은 없습니다, 양방향 선택 사항입니다) 한마디로
, 내 질문에 정확히 같은 - mappedBy는, 디폴트 @OneToMany
선택 사항입니다 : @ManyToMany
및 @OneToMany
의 경우 관계 소유의 mappedBy 속성 (예 : Customer
)에 어떤 내용을 넣어야합니까?
적합성 키트는 JPA에서 사용하는 주석에 대한 단위 테스트의 멋진 이름입니다. 지금 초점은 ORM입니다 ...이 단위 테스트 (또는 그 라인에있는 다른 것)가 이미 존재한다고 말하고 있습니까? 인턴 과정을 밟고있는이 회사는 오픈 소스 애플리케이션 테스트의 일환으로이를 개발하기를 원합니다. 'mappedBy'의 사용법을 좀 이해하고 있습니다. 정확한 문구에 대해 혼란스러워하고 있습니다. 양방향 관계의 소유 측면을 제외하지 않고 비 단방향 관계에 대해 mappedBy 어노테이션이 필요하다고 말하는 이유는 무엇입니까? – Pimgd
TCK는 JPA 구현을 테스트하는 데 사용됩니다. JPA로 작성된 응용 프로그램을 테스트하는 데 사용되지 않습니다. 그래서 당신 키트가 유용 할 것 같아요. 개발자가 게으르므로 주석 사용자가 JPA 스펙 또는 mappedBy 속성 사용에 대한 자세한 설명이있는 주석 자체의 javadoc을 읽는다고 생각할 것입니다. –
"여기서 mappedBy 속성의 사용에 대해 자세히 설명합니다." 이 문서에 대한 링크를 제공해 주시겠습니까? 온라인에서 찾을 수 있지만, JSR-317 사양에서 읽을 수있는 앵무새처럼 보입니다.이 특별한 상황에 대해 어떤 생각도 밝히지는 못합니다. – Pimgd