우선은 MemoRepository를 의존성 주입 해주고, 속도 향상을 위해서 @Transactional(readOnly = true)로 설정하고 실제로 데이터 편집을 하는 메소드에는 @Transactional를 오버로딩 하였습니다.
검색은 공백이면 모든 결과가 다 나오게 하였습니다.
@Service
@Transactional(readOnly = true)
class MemoService {
@Autowired
private MemoRepository memoRepository
@Transactional
def save(Memo memo) {
memoRepository.save memo
return memo.getId()
}
@Transactional
def remove(Long id) {
Memo memo = memoRepository.findOne id
memoRepository.remove memo
}
@Transactional
def update(Long id, String title, String content) {
Memo memo = memoRepository.findOne id
memoRepository.update memo, title, content
}
Memo findOne(Long id) {
return memoRepository.findOne(id)
}
List<Memo> findAll() {
return memoRepository.findAll()
}
List<Memo> findSearch(String keyWord) {
if (keyWord == null || keyWord.isEmpty()) return memoRepository.findAll()
else return memoRepository.findSearch(keyWord)
}
}