-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feat/282] 매일 아침 7시 riot 정보 업데이트 #312
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
고생하셨습니다! 일단 급한대로 이렇게 해두고 다음주부터 다시 다듬어 나가면 좋을 것 같아요 !!
@@ -18,11 +18,11 @@ public class MemberChampion extends BaseDateTimeEntity { | |||
@Column(name = "member_champion_id", nullable = false) | |||
private Long id; | |||
|
|||
@ManyToOne(fetch = FetchType.LAZY) | |||
@ManyToOne(fetch = FetchType.EAGER) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
�FetchType이 EAGER이면 기존이랑 뭐가 달라지는건지, 그리고 왜 바꾸신건지 이유가 궁금합니다..! 말씀하셨던 트랜잭션 테이블 업데이트가 안되는..? 문제의 해결방법인건가요?!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
앗 네네 그 해결방법 중 하나인데요!
lazy의 경우 데이터 로딩 시 즉시 로딩이 안돼서
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.gamegoo.domain.member.Member.memberChampionList, could not initialize proxy - no Session
위의 에러가 발생합니다..
그래서 EAGER 옵션을 통해서 즉시 로딩시켜놔야 저 에러가 발생 안합니당!
저도 사실 완벽하게 이해하진 못해서 좀 더 공부해야할 것 같아요ㅠㅠ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
원래 에러가 Transaction 어노테이션을 사용해서 발생했던건데,
Transaction 어노테이션 삭제 -> lazy 에러 발생
이렇게 돼버려서 아예 fetch 옵션을 eager로 변경했습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
그렇군요..... 저도 공부를 더 해봐야할 것 같네요ㅠㅠ 감사합니다!!
🚀 개요
07:00 에 Riot 정보 업데이트하는 스케줄러 개발
🔍 변경사항
⏳ 작업 내용
📝 논의사항
scheduler에 transaction 어노테이션이 들어가면 DB에 업데이트가 안됩니다. 아마 중간에 데이터값이 뭔가 요상하게 바뀌어서 rollback이 이루어지는 것 같아요. 이 부분은 나중에 Riot 전체 리팩토링하면서 함께 변경해야할 것 같습니다.