인프런 커뮤니티 질문&답변

alsgudtkwjs님의 프로필 이미지
alsgudtkwjs

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

대출 반납 오류

해결된 질문

작성

·

200

·

수정됨

1

https://github.com/strongmhk/Springboot/blob/main/library-app/src/main/java/com/group/libraryapp/domain/user/User.java

 

 

처음에 B라는 유저가 클린코드를 대출했다가 반납했는데, 잘되었습니다.

근데 다시 대출을 하고 반납을 누르면 반납이 완료됐다고 뜨는데,

B라는 유저로 다시 대출을 하려니까 오류가 뜨네요.

그래서 DB를 확인해보니 DB에는 B라는 유저가 처음 대출을 하고 반납을 한 후, 2번째로 대출 후 반납을 했을 때 is_return 필드가 갱신되지가 않습니다.

제 생각엔 User 클래스 안의 returnBook 메서드에서 .findFirst() 메서드 때문인 것 같기도한데 findLast라는 메서드는 없네요. 해결책이 있을까요?

 

 

답변 1

1

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요, alsgudtkwjs님! 정말~ 좋은 질문 감사드립니다! 🙏 이 질문을 받을 때마다 너무너무 기분이 좋네요!! 😊

결론부터 말씀드리면, findFirst() 을 사용했기 때문에 가장 오래된 기록의 isReturntrue로 변경해주게 되고, 따라서 최신 기록인 두 번째 대출기록이 반납처리되지 않는 것이 맞습니다.

몇 가지 해결방법이 있겠지만, 이를 해결하기 위해서는 가장 최근에 빌린 대출기록을 찾도록 하는 것도 하나의 방법일 수 있습니다. 😊

비슷한 결의 질문으로 두 가지 링크를 첨부드립니다. 시간 되실 때 한 번 읽어보시는 것도 좋을 것 같아요!!

직접 해결해보시면서 더욱더 성장하셨으면 좋겠습니다. 감사합니다!! 🙇

alsgudtkwjs님의 프로필 이미지
alsgudtkwjs
질문자

강사님께서 기분이 좋으시다니 저도 기분이 좋아지네요! 답변 잘 읽어보겠습니다 감사합니다!

alsgudtkwjs님의 프로필 이미지
alsgudtkwjs

작성한 질문수

질문하기