관계 테이블 저장 오류 관련하여 질문드립니다.
264
작성한 질문수 1
안녕하세요. 강의 정말 잘 듣고 있습니다.
조회에서 조회가 안 되길래, 로그를 보니, tag 테이블에는 저장되고 있으나, account와 tag의 관계를 저장하게 되는 account_tags 테이블에 저장을 하지 않는 것을 확인했습니다. ( 로그에 해당 insert문이 없는 것 확인 )
그래서 accountService.addTag 에서 가장 하단에 accountRepository.save(account);를 추가 해 주니,
해당 테이블에 insert도 정상적으로 되고, 조회도 되는 것을 확인했습니다.
강의 들으며, 동일하게 코딩했다고 생각하고 있습니다만 이러한 차이가 발생하는 것이, 버전이 변경되면서 변경점이 생긴 것인지, 제가 잘못 한 부분이 있는 것인지 판단이 안 되네요.
더불어, 제 코드가 잘못 된 것이라면, 관계 테이블에는 tagRepository에서 save 할 때 같이 저장되는 것인지,
accountService.addTag 메소드의 byId.ifPresent~~~ 시점에 저장되는 것인지도 궁금합니다.
그럼 활기찬 나날되세요~
답변 1
0
안녕하세요.
"그래서 accountService.addTag 에서 가장 하단에 accountRepository.save(account);를 추가 해 주니,
해당 테이블에 insert도 정상적으로 되고, 조회도 되는 것을 확인했습니다."
=> 코드를 보고 말씀드리는게 아니라서 정확하진 않지만 혹시 AccountService에 @Transational이라는 애노테이션이 적용되어 있나요? 해당 애노테이션이 없는 경우 객체 변경 내역을 JPA 적용하지 않고 끝냈었다가 이후에 명시적으로 save를 호출해주어 DB에 적용된 것 같은 정황으로 들립니다.
관계 테이블에는 트랜잭션이 끝날 때 account의 tags 객체가 바뀐것을 JPA가 감지하고 insert 쿼리를 발생시킵니다. 정확한 SQL과 SQL 실행 타이밍이 궁금하시다면 디버거를 사용해 보시면 좋습니다.
감사합니다.
Study 개설하는 로직에 대해서 궁금점이 있습니다.
0
71
1
앱 재시작 후 회원가입
0
120
1
app.host 관련 질문이 있습니다
0
106
1
강의 버전 정보
0
136
1
event, study 참조
0
236
2
비밀번호 변경 로직 질문있습니다.
0
143
1
프로필 수정 처리 merge 질문입니다.
0
115
1
회원가입 성공 후 redirect이동시 권한 질문
0
509
3
HtmlEmailService 개발하다 생긴 의문입니다
0
260
2
postgreSql 연결하여 JPA 를 통해 테이블 생성시 ZONE 테이블 생성에서 에러가 납니다
0
437
2
수업질문 [긴급] 로그인안되는 문제 말씀해주시는 부분 반영해서 최종 질문드립니다
0
271
2
[긴급-재업로드]수업질문 로그인 안 되는 문제
0
243
1
[긴급] 로그인해도 네비게이션 바가 안 바뀌고 있습니다!! 로그인이 안 됩니다 도와주세요
0
284
1
cropper 오류 문제로 질문드립니다..
0
294
2
authentication관련 질문...
0
503
2
모임참가 취소 할때 로직 질문
0
359
3
안녕하세요 기선님 질문이있습니다..
0
236
1
HTML코드 및 강의 중간자료들
0
687
3
springSecurity
0
529
2
버전 질문입니다.
0
308
1
부트스트랩, css
0
361
2
영속성 컨텍스트 질문
0
255
2
다시 강의를 보니 드는생각..
0
357
2
5:50에 나오는 HTML코드는 어디서 찾을 수 있나여?
0
320
1





