Persistent 옵션을 사용해야만 저장이 되는 부분이 잘 이해가 되지 않습니다ㅠ
안녕하세요!!
관계 맵핑 강의에서는
account.getStudies().add(study);
study.setOwner(account);
이런식으로 양방향 관계 설정 후 값을 확인 하면 값이 잘 들어간 것을 볼 수 있었는데
이번 강의에서도 setter에 값을 넣고 save 까지 완료하였으므로 둘 다 Persistent 상태가 되었다고 생각이 드는데
Post post = new Post();
post.setTitle("DATA JPA 언제보나");
Comment comment = new Comment();
comment.setComment("빨리 보자");
이 부분에서는 실제로 값이 들어가지 않았고
cascade Persistent 옵션을 사용해줘야 값이 전달이 되어서 들어간 것을 볼 수 있었습니다.
전 강의와 지금 강의에서의 차이점이 잘 이해가 되지 않는데 이 부분에 대해서 알려주실 수 있으실까요?
미리 감사드립니다!!
Câu trả lời 2
1
엔티티의 상태 변화를 전파시키는 옵션이 Cascade 옵션입니다. 이번 수업에서 보여드린 예제는 Post를 저장할 때 Comment도 같이 Persistent 상태로 전이 되도록 설정한 예제를 보여드린거구요. 말씀하신대로 Persistent 상태가 되는 시점은 save를 호출한 시점입니다.
이전 수업은 Account와 Study를 각기 를 따로 만들어서 이미 save를 했고, 그 다음에 트랜잭션 안에서 둘을 연결한 것이구요.
여기서는 Post의 save를 호출하기 전에 Post와 Comment 둘을 new로 만들어서 미리 연결하고 Post의 save만 호출해서 persistent 상태로 만들때 Comment도 같이 persistent 상태가 되도록 Cascade 옵션을 사용한 예를 보여드린겁니다.
spring boot 2.7.13-SNAPSHOT trace 소문자 로그 안나옴
0
533
1
<스프링 데이터 Common: 기본 리포지토리 커스터마이징> 에 대한 질문
0
392
1
comment table에서 저장될떄 왜 id값이 2부터저장이되는건가요?
0
407
1
@EnableJpaRepositories 설정을 스프링부트가 어디에서 자동설정하나요?
0
450
0
PersistenceContext 관련 질문드립니다.
0
335
1
지금(Eager), 나중에(Lazy)의 의미를 모르겠습니다
0
338
1
transaction 구간이 길어질 경우의 처리방법 문의드립니다.
0
905
1
docker postgres
0
293
1
Multiple DataSource 사용 시 transaction 관련 질문 드립니다.
0
2908
1
entity 중 null이 아닌 필드만 update 할 방법이 있을까요?
0
1190
1
Eager 모드일 경우, join을 inner join으로 바꾸는 법이 있을까요?
0
385
1
엔티티를 상속받는 DTO가 일반적인가요?
1
1847
1
커스텀 타입 클래스를 String 타입 처럼 이용해 쿼리하는 방법에 대해 질문하고 싶습니다.
0
339
1
연관관계 매핑 어떤식으로 해야될지 감이 안잡힙니다.
0
566
4
EntityManager 주입시 Annotation관련 질문드립니다.
0
565
1
클래스 기반 프로젝션 사용 관련 질문
0
560
1
save 메서드 질문드립니다.
0
258
1
복잡한 통계쿼리도 JPA로 가능한가요?
2
5592
1
find 와 get의 차이가 무엇인가요?
0
890
1
실무에서 JPA 할 때 FK로 개발할때 연관관계를 꼭 맺어주어야 하나요?
0
998
1
\dt Did not find any relations.
0
481
1
소스코드는 어디서 볼 수 있을까요?
1
287
1
table 생성과 select 문에 대한 질문
0
174
1
스프링 데이터 RepositoryTest 관련 질문
0
2173
2

