@Autowired로 의존성 주입을 해주고...
속도 상승을 위해서 Transactional을 readOnly로 만들고 편집이 필요한 로직은 @Transactional로 오버로딩 시켰습니다.
또한 만약에 검색이 null로 반환 되면 모든 결과를 반환하게 하였습니다.
@Service
@Transactional(readOnly = true)
class MemoService {
@Autowired
private lateinit var memoRepository: MemoRepository
@Transactional
fun save(memo: Memo): Long? {
memoRepository.save(memo)
return memo.id
}
@Transactional
fun update(id: Long, title: String, content: String) {
val memo = memoRepository.findOne(id)
memoRepository.update(memo, title, content)
}
@Transactional
fun remove(id: Long) {
val memo = memoRepository.findOne(id)
memoRepository.remove(memo)
}
fun findOne(id: Long): Memo {
return memoRepository.findOne(id)
}
fun findAll(): List<Memo> {
return memoRepository.findAll()
}
fun findSearch(keyWord: String?):List<Memo> {
return if (keyWord == null || keyWord.isEmpty()) memoRepository.findAll()
else memoRepository.findSearch(keyWord)
}
}