10장: 클래스
// TodoService.java
@Service
@RequiredArgsConstructor
@Transactional(readOnly = true)
public class TodoService {
private final TodoJpaRepository todoRepository;
@Transactional
public Long add(TodoEntity todo) {
todoRepository.save(todo);
return todo.getId();
}
public List<TodoEntity> searchAll() {
return this.todoRepository.findAll();
}
public TodoEntity searchById(Long id) {
return todoRepository.findById(id)
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND));
}
@Transactional
public void updateTodo(TodoEntity todo, String title, Boolean completed) {
todo.update(title, completed);
todoRepository.save(todo);
}
@Transactional
public void deleteTodo(TodoEntity todo) {
todoRepository.delete(todo);
}
}초기 PR: 두 개의 책임을 가진 TodoService
초기 PR에 대한 수정 요청

최종 PR: 분리된 책임
Last updated