
DB아이콘에서 릴레이션 다이어그램 볼 수 있더라


.soutv 하면 메서드 안에 들어가도록 자동완성해줌

hibernate 생성 쿼리에서 도움을 받을수도 있더라

클래스명으로 빠르게 import할 수 있더라

OpenRepositoryVersion -> 해당 버전 코드 확인 가능
복습할땐 Github에 push 추천

엔티티 간 릴레이션이 있는 경우 아이콘 띄워주더라
fetchtype
@onetomany는 default가 lazy
@manytoone은 default가 eager
기본값
@x to many : lazy
@x to one : eager
지연 로딩된 entity 정보 조회시 persistence context 필수
-> Transactional 이어야 한다
영속 상태 entity에서 수행되는 작업들이 연관된 entity로 전파
예)
"연관된 entity"에 다음과 같이 설정
@OneToMany(mappedBy = "user", cascade = CascadeType.PERSIST)
or
@OneToMany(mappedBy = "user", cascade = {CascadeType.PERSIST, CascadeType.REMOVE})
참고
https://www.baeldung.com/jpa-cascade-types
orphanRemoval 기본값은 false
@OneToMany(mappedBy = "user", cascade = CascadeType.PERSIST, orphanRemoval = true)
orpahnRemoval은 CascadeType.Remove 동작도 해 줌
삭제 대상 entity를 다른 곳에서 참조하고 있는지 반드시 확인해야한다.
@ManyToOne은 아예orphanRemoval이 없음
-> 삭제 대상을 참조하는 다른 entity가 있으므로
orpahnRemoval과 CascadeType.Remove는 매우 주의해서 사용해야한다...