우선 Autowired으로 의존성 주입을 해주고 저장, 삭제, 업데이트, 1개 찾기, 모두 찾기, 검색으로 메소드를 만들었습니다.
Groovy는 일부 괄호 생략이 허용되기에 그루비 정체성(?)를 강조하기 위해서 차별화해서 코드를 만들어봤습니다.
@Repository
class MemoRepository {
@Autowired
private EntityManager entityManager
def save(Memo memo) {
entityManager.persist memo
}
def remove(Memo memo) {
entityManager.remove memo
}
def update(Memo memo, String title, String content) {
memo.setTitle title
memo.setContent content
}
def findOne(Long id) {
return entityManager.find(Memo.class, id)
}
def findAll() {
return entityManager.createQuery("SELECT M FROM Memo AS M", Memo.class)
.getResultList()
}
def findSearch(String keyWord) {
return entityManager.createQuery("SELECT M FROM Memo AS M WHERE M.title LIKE :keyWord")
.setParameter("keyWord", "%${keyWord}%")
.getResultList()
}
}