230710_Mon

KH·2023년 7월 10일
0

TIL

목록 보기
28/58
post-thumbnail

Problems

Attempts


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)

orpahnRemovalCascadeType.Remove 동작도 해 줌

삭제 대상 entity를 다른 곳에서 참조하고 있는지 반드시 확인해야한다.

  • 꼭 기억해둘 것!

    @ManyToOne은 아예 orphanRemoval이 없음
    -> 삭제 대상을 참조하는 다른 entity가 있으므로

orpahnRemovalCascadeType.Remove는 매우 주의해서 사용해야한다...

Results

Insights

profile
What, How, Why

0개의 댓글