-
Notifications
You must be signed in to change notification settings - Fork 300
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
[JDBC 라이브러리 구현하기 - 3,4단계] 케로(김지현) 미션 제출합니다. #606
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.
안녕하세요 케로! 민트입니다.
바쁘고 정신 없는 와중에도 끝까지 미션 진행하느라 고생 많으셨어요.
리뷰 내용, 요구사항 모두 잘 반영하신 것 같아서 어프루브하도록 하겠습니다.
다만 Connection이 닫히지 않는 이슈가 있는 것으로 보입니다. 이 부분에 대해서는 코멘트 남겼으니 나중에 여유로울 때 슬쩍 보시면 좋을 거 같습니다.
새로운 미션이자 마지막 미션도 파이팅하시고, 레벨4 잘 마무리하시길 바라겠습니다! 고생하셨습니다~
public void insert(final User user) { | ||
transactionTemplate.execute(() -> { | ||
userService.insert(user); | ||
return null; |
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.
void 메서드마다 null을 반환하는 것이 불편하다면, TransactionTemplate에 void 타입을 반환하는 메서드를 하나 더 만들어도 좋을 거 같아요!
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.
그런 방법이 있군여...!!!
수정해보도록 하겠습니다 감사합니다 !!!
throw new DataAccessException(e); | ||
} finally { | ||
turnOnAutoCommit(connection); | ||
DataSourceUtils.releaseConnection(connection, dataSource); |
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.
현재 DataSourceUtils.releaseConnection()
은 autoCommit 모드일 때만 Connection을 닫아주는 것으로 보여요! 그렇다면 트랜잭션을 실행한 Connection은 autoCommit이 false이기 때문에 계속 닫히지 않을 거 같아요.
혹시 제가 놓친 부분이 있는 걸까요?!
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.
finally문 안에서 conncetion을 unbine하기 전에 turnOnAutoCommit()
메서드를 이용하여 오토커밋을 다시 켜주어 DataSourceUtils 에서 판단 할 수 있도록 하려 했는데,,,
실수로 turnOnAutoCommit()
메서드의 구현을 잘못한 것 같습니다,,,
짚어주셔서 감사합니다 !!!
return executeQuery(sql, PreparedStatement::executeUpdate, parameters); | ||
} | ||
|
||
private <T> T executeQuery(final String sql, final PreparedStateExecutor<T> executor, final Object... parameters) { |
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.
잘 반영해 주셨네요! 훨씬 깔끔해진 것 같습니다 ㅎㅎ
안녕하세요 민트...
어제도 심신이 옳지 못한 관계로 오늘 제출합니다....ㅜㅜ
편의 봐주셔서 감사합니다...ㅜㅜ
지난 리뷰에서 마음 깊이 이해했지만 시간관계상 반영하지 못한 부분이 몇 있습니다...
2단계 답변
3단계
4단계