팀 회고
추가로 학습해볼 내용
1. SQLDelete 어노테이션과 SQLRestriction 어노테이션
findByOOOAndIsDeletedFalse 같은 느낌으로 soft delete를 고려한 검색이나 조회를 하고 계신 것 같습니다. 대부분의 API에서 삭제된 데이터는 조회하려 하지 않으므로, 일괄적으로 이를 적용할 수 있는 방법 등을 고려해보시면 좋을 것 같습니다. 예시로 SQLDelete 어노테이션과 SQLRestriction 어노테이션 등이 있습니다.
(→ deleteOOO 메소드에서도 isDeleted를 한번 더 체크할 필요 없이 not found로 끝나게 되겠죠? )
https://velog.io/@max9106/JPA-soft-delete
[JPA] soft delete 자동으로 처리하기
데이터를 삭제하는 방법에는 hard delete, soft delete 2가지 종류가 있습니다. hard delete는 delete 쿼리를 날려서 데이터베이스에서 실제로 삭제하는 방법을 말합니다.soft delete는 실제로 데이터베이스에
velog.io
2. DTO의 함수 중 of, from 메소드를 만들어서 DTO를 생성하는 전략
- of 메소드: 보통 여러 인자를 받아 DTO를 생성하는 경우에 사용합니다. 주로 DTO의 필드에 필요한 여러 매개변수를 전달받아 객체를 생성합니다.
- from 메소드: 일반적으로 엔티티(Entity)나 다른 객체를 인자로 받아 해당 객체를 기반으로 DTO를 생성할 때 사용합니다.
두 메서드 모두 보통 DTO 클래스 내부에 정적 메소드(static method)로 작성됩니다.
public class UserDto {
private Long id;
private String username;
private String email;
private String role;
// 기본 생성자, 게터, 세터 생략
// of 메소드: 여러 매개변수를 받아 DTO를 생성
public static UserDto of(Long id, String username, String email, String role) {
UserDto dto = new UserDto();
dto.id = id;
dto.username = username;
dto.email = email;
dto.role = role;
return dto;
}
// from 메소드: 엔티티를 받아 DTO를 생성
public static UserDto from(UserEntity entity) {
UserDto dto = new UserDto();
dto.id = entity.getId();
dto.username = entity.getUsername();
dto.email = entity.getEmail();
dto.role = entity.getRole();
return dto;
}
}
3. exception을 Exception Handler로 일괄적으로 처리하는 법
'스프링 심화 TIL' 카테고리의 다른 글
삭제된 유저 필터링 방법 (0) | 2024.08.26 |
---|---|
S.A 튜터님 피드백 (0) | 2024.08.23 |
배달앱 프로젝트 11조 S.A (0) | 2024.08.22 |
DB 복제 지연 (0) | 2024.08.21 |
Docker 네트워킹 기본 개념 (0) | 2024.08.18 |