ORM(객체 관계형 매핑)에서 엔터티 간의 양방향 관계는 무한 루프 또는 일관되지 않은 데이터 상태를 피하기 위해 신중하게 처리해야 합니다. . MappedBy는 이 문제를 해결하는 JPA 및 Hibernate 주석의 속성입니다.
MappedBy의 역할 이해:
MappedBy는 관계를 소유하고 외래 키를 소유하는 엔터티를 지정합니다. 데이터베이스의 열입니다. 비소유 엔터티의 매핑 주석에 적용되어 관계가 소유 엔터티 테이블의 외래 키로 매핑됨을 나타냅니다.
사용 권장 사항:
양방향 관계를 정의하는 경우 다음 지침을 따르는 것이 좋습니다.
예:
Airline 및 AirlineFlight 엔터티에서 항공사는 관계의 소유자여야 합니다. 올바른 주석은 다음과 같습니다.
<code class="java">// Airline.java @OneToMany(mappedBy = "airline") public Set<AirlineFlight> getAirlineFlights() { return airlineFlights; } // AirlineFlight.java @ManyToOne @JoinColumn(name = "IDAIRLINE") public Airline getAirline() { return airline; }</code>
MappedBy의 목적:
MappedBy는 두 가지 주요 목적을 제공합니다.
위 내용은 JPA 및 Hibernate의 `MappedBy`는 양방향 관계의 데이터 불일치를 어떻게 방지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!