1. Learn
  2. /
  3. Courses
  4. /
  5. Java에서 PostgreSQL 데이터베이스 질의하기

Connected

Exercise

도서 반납 처리

당신은 Metropolitan Public Library의 관리 시스템을 담당하는 개발자입니다. 지난주에 치명적인 버그가 발견되었는데, 시스템이 도서 반납 중에 장애가 발생하면 대출 기록은 "returned"로 표시되지만, 재고에서는 해당 도서가 여전히 "checked-out" 상태로 남는 문제였습니다. 이로 인해 직원이 수동으로 데이터베이스를 수정할 때까지 수주 동안 도서를 이용할 수 없었습니다.

도서가 반납될 때는 다음 세 가지 작업이 함께 성공하거나 함께 실패해야 합니다.

  1. 대출 기록을 "returned" 상태로 업데이트합니다.
  2. 도서의 이용 가능 상태를 "checked-out"에서 "available"로 변경합니다.
  3. 반납이 늦은 경우 연체료를 기록합니다.

데이터 일관성을 보장하도록 올바른 트랜잭션 제어를 구현하세요.

Instructions

100 XP
  • 26번째 줄에서 autoCommit을 false로 설정하세요.
  • 모든 작업이 성공하면 59번째 줄에서 트랜잭션을 커밋하세요.
  • 어떤 작업이든 실패하면 66번째 줄에서 트랜잭션을 롤백하세요.