작성
·
235
0
loanBook() 메소드를 보면 userLoanHistories에 값을 추가하기만 하는데 userLoanHistoryRepository에 값이 추가되어있습니다..이건 spring data jpa의 역할인 건가요??
답변 1
0
안녕하세요, 가보자님!!! 좋은 질문 감사드립니다!! 🙂
아마 이 부분을 질문 주신 것 같아요!!! (혹시 다른 부분이 궁금하신거였다면, 편하게 또 질문 남겨주셔요~!! ㅎㅎㅎㅎ)
User.loanBook()
함수에서는 단순히 MutableList<UserLoanHistory>
에 새로운 UserLoanHistory를 추가만 해주는데~~~ (별도의 save
메소드를 호출하거나 하지 않고)
도대체 어떻게! 그게 DB에 정말 저장이 되는가!!!
결론부터 말씀드리자면, cascade
옵션을 @OneToMany
어노테이션에 사용했기 때문입니다!
cascade
옵션은 연관관계에 놓인 JPA 객체들끼리 저장 / 삭제 등을 전파해주는 옵션으로써,
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]<34강. JPA 연관관계에 대한 추가적인 기능들>에서 찾아보실 수 있습니다!
혹시나, 블로그 등으로 자료를 찾아보고 싶으시다면, cascade
옵션 이라는 키워드로 구글링 해보시면 확인해보실 수 있습니다!
또 궁금한 점 있으시면 편하게 질문 남겨주세요!!
새해복 많이 받으세요 감사합니다!! 🙏🙏