<PrfPost 클래스>
@Entity
public class PrfPost extends Auditable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(nullable = false)
private String title;
@Column(nullable = false)
private String category;
@Column(nullable = false, columnDefinition = "TEXT")
private String content;
@Column(nullable = false)
private String tags;
@Column(nullable = false)
private Integer likeCount = 0;
@OneToMany(mappedBy = "prfPost", cascade = CascadeType.REMOVE)
@JsonBackReference
private List<Urls> urls = new ArrayList<>();
@ManyToOne(fetch = FetchType.LAZY)
@JsonManagedReference
@JoinColumn(name = "member_id")
private Member member;
@OneToMany(mappedBy = "prfPost", cascade = CascadeType.REMOVE)
@JsonBackReference
private List<PrfPostComment> comments = new ArrayList<>();
public void likeCountUp() {
this.likeCount++;
}
public void likeCountDown() {
this.likeCount--;
}
}
PrfPost(게시글)과 url이 양방향 맵핑이 되어있다.(1:N 관계)
postDto로 PrfPost의 필드들과 url 값을 동시에 받아와서 이를 save() 해주는데 저장해주는 순서가 다르면 어떤 일이 발생하는지 궁금했다.

List<Urls> urls에 urlId를 제외하고 저장해둔다.(아직 url이 저장되지 않아 urlId가 없기 때문에)

PrfPost.setUrls()를 하지 않았는데 왜 id값이 수정되는지 궁금했는데 이는 같은 Urls Object이기 때문이였다!