OnDeleteAction.CASCADE
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
@OnDelete(action = OnDeleteAction.CASCADE) // 카테고리 삭제 시 회원도 함께 삭제
private Member member; // 회원 고유 번호
Java
복사
•
갑자기 Ondelete 어노테이션으로 CASCADE 조건을 줄 경우 카테고리 삭제 시 회원이 삭제되는 것인지 회원 삭제 시 카테고리가 삭제되는 건지 헷갈렸다,,,,
•
찾아본 결과, 카테고리 삭제 시 회원이 함께 삭제되어버리는 것이었다. 우리 팀 기획에선 카테고리가 삭제되어도 회원은 그대로 유지되어야 하기 때문에 해당 어노테이션은 제거해주었다.
findByXXX vs findByXXXId 성능 차이
•
서론)
◦
기존의 One To Many 관계로 맺어진 필드를 지우고, JPA에서 직접 찾아오는 과정을 진행하며 궁금해진 부분이다.
•
본론)
◦
findByMemberId는 Member 테이블의 컬럼들만 조회하는데도 불구하고 left outer join을 걸어서 조회를 해와서 findByMember 보다 성능 더 안 좋음