1. 연산에 쓰일 Entity가 null인지, Id등 Entity안의 특정 값이 정상인지 체크하는
Validate 메서드를 만들어서
CRUD작업 전 검증한다.
쓸데없는 트랜잭션을 최소화하고
에러를 컨트롤하기 수월하다
예제코드:
public List<AEntity> delete(final AEntity entity){
//유효성 확인
validate(entity);
//작업
}
private void validate(final AEntity entity){
if(entity == null){
log.warn("Entity cannot be null.");
throw new RuntimeException("Entity cannot be null.");
}
if(entity.getUserId() == null){
log.warn("Unknown user.");
throw new RuntimeException("Unknown user");
}
}
2. 작업 성공 시 DB에서 해당 entity를 조회한 후 리턴처리해두면 편하다.
예제코드:
public List<AEntity> update(final AEntity entity){
//유효성 확인
validate(entity);
final Optional<AEntity> original = repository.findById(entity.getId());
original.ifPresent(a-> {
a.setTitle(entity.getTitle());
a.setDone(entity.isDone());
repository.save(a);
});
//조회후 리턴
return retrieve(entity.getUserId());
}
'웹개발 > 설계' 카테고리의 다른 글
JPA로 페이징된 계층형 댓글 로직 구현에 대해 (0) | 2024.03.07 |
---|---|
스프링부트 프로젝트 구조 만들기 (패키지명) 간단 요약 (0) | 2023.03.17 |
JPA DTO & Entity란? (0) | 2022.08.02 |