• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

안녕하세요!

23.01.22 15:44 작성 조회수 202

0

loanBook() 메소드를 보면 userLoanHistories에 값을 추가하기만 하는데 userLoanHistoryRepository에 값이 추가되어있습니다..이건 spring data jpa의 역할인 건가요??

답변 1

답변을 작성해보세요.

0

안녕하세요, 가보자님!!! 좋은 질문 감사드립니다!! 🙂

 

아마 이 부분을 질문 주신 것 같아요!!! (혹시 다른 부분이 궁금하신거였다면, 편하게 또 질문 남겨주셔요~!! ㅎㅎㅎㅎ)

  • User.loanBook() 함수에서는 단순히 MutableList<UserLoanHistory> 에 새로운 UserLoanHistory를 추가만 해주는데~~~ (별도의 save 메소드를 호출하거나 하지 않고)

  • 도대체 어떻게! 그게 DB에 정말 저장이 되는가!!!

 

결론부터 말씀드리자면, cascade 옵션을 @OneToMany 어노테이션에 사용했기 때문입니다!

cascade 옵션은 연관관계에 놓인 JPA 객체들끼리 저장 / 삭제 등을 전파해주는 옵션으로써,
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]<34강. JPA 연관관계에 대한 추가적인 기능들>에서 찾아보실 수 있습니다!

 

혹시나, 블로그 등으로 자료를 찾아보고 싶으시다면, cascade 옵션 이라는 키워드로 구글링 해보시면 확인해보실 수 있습니다!

 

또 궁금한 점 있으시면 편하게 질문 남겨주세요!!

새해복 많이 받으세요 감사합니다!! 🙏🙏