728x90
@Transactional
suspend fun increaseCount(id: Long): Article {
val article = articleRepository.findById(id).orElseThrow {
throw EntityNotFoundException("Not found article by id: $id")
}
article.count = article.count++
// articleRepository.save(article) // 영속(managed)인 경우 Entity 변경 후 별도로 save 할 필요가 없다.
return article
}
주의할 점
1. @Transactional 필수
2. @Transactional(readOnly = true)이면 안 된다.
@Transactional 이 없다면 artcleRepository.save(article) 를 호출해 줘야 한다.
반응형