Skip to content
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

도서관 퇴실 서비스 구현 #43

Merged
merged 5 commits into from
Mar 24, 2024
Merged

Conversation

ki-met-hoon
Copy link
Owner

  • soft delete 구현
    • @SQLDelete로 soft delete 구현
      - @SQLDelete로 실행된 SQL은 JPA가 제공하는 더티 체킹 메커니즘을 우회하여 직접 데이터베이스에 적용
    • 따라서 영속성 컨텍스트에 변경이 감지되지 않아 modifiedAt과 같은 필드가 자동 업데이트 되지 않아 수동으로 변경
  • 조회 시 soft delete 되지 않은 컬럼 값만 조회하도록 변경
    • @Where이 존재하지만 삭제된 데이터도 조회할 수 있어야 하기 때문에 soft delete 방식을 사용하더라도 불편해도 JPQL로 삭
      제 데이터를 조회
    • 삭제된 데이터를 사용하지 않는다면 @Where 사용 가능, 비즈니스 상황을 고려
    • https://www.inflearn.com/questions/304378
  • ReservationController 내 DELETE 형식의 resevation method 구현
  • ReservationService내 deleteReservation method 구현

This closes #42

- `@SQLDelete`로 soft delete 구현
-` @SQLDelete`로 실행된 SQL은 JPA가 제공하는 더티 체킹 메커니즘을 우회하여 직접 데이터베이스에 적용
- 따라서 영속성 컨텍스트에 변경이 감지되지 않아 modifiedAt과 같은  필드가 자동 업데이트 되지 않아 수동으로 변경
- `@SQLDelete`로 인해 `deleteById` method 실행 시 사용자 정의된 쿼리문이 실행
- `@Where`이 존재하지만 삭제된 데이터도 조회할 수 있어야 하기 때문에 soft delete 방식을 사용하더라도 불편해도 JPQL로 삭제 데이터를 조회
- 삭제된 데이터를 사용하지 않는다면 `@Where` 사용 가능, 비즈니스 상황을 고려
- https://www.inflearn.com/questions/304378
@ki-met-hoon ki-met-hoon self-assigned this Mar 24, 2024
@ki-met-hoon ki-met-hoon merged commit 4fe6895 into main Mar 24, 2024
1 check passed
@ki-met-hoon ki-met-hoon deleted the feature/#42-deleteResevation branch March 24, 2024 15:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

도서관 퇴실 서비스 구현
1 participant