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());
}

+ Recent posts