[JPA]双方向マッピングmappedBy
mappedBy関係を設定する所有者 の一方向マッピングでも、テーブルには関連関係があります. 双方向は、クエリロジックを追加します. 双方向マッピングの場合、EntityではなくJPAでmappedByを使用します. の下のコードには、BOOK Entityに 関連関係の所有者でなければ、変更は反映されません.
@OneToMany(mappedBy = "book")
が追加されています. @Entity
@Getter
@NoArgsConstructor
public class Book {
@Id
@Column(name = "ISBN")
private String isbn;
@Column(name = "BOOK_NAME")
private String bookName;
@Column(name = "AUTHOR")
private String author;
@Column(name = "PUBLISHER")
private String publisher;
@Column(name = "KDC")
private String kdc;
@Column(name = "CATEGORYy")
private String category;
@Column(name = "KEYWORD")
private String keyword;
@Column(name = "BOOK_IMAGE")
private String img;
@OneToMany(mappedBy = "book")
private List<BookReview> bookReviewList = new ArrayList<>();
}
@Getter
@Entity
@NoArgsConstructor
public class BookReview {
@Id
@GeneratedValue
private long reviewNo;
private int rating;
private String reviewContents;
private LocalDateTime createDate;
private int declaration;
//NORMAl, BLIND
@Enumerated(EnumType.STRING)
private ReviewStatus reviewStatus;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "isbn")
private Book book;
}
Reference
この問題について([JPA]双方向マッピングmappedBy), 我々は、より多くの情報をここで見つけました https://velog.io/@hyunho058/JPA-양방향-매핑-mappedByテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol