이 클래스는 간단하게 메모 엔티티를 저장하는 곳 입니다.
다음으로는 저장, 삭제, 업데이트, 1개 찾기, 모두 찾기, 검색 찾기 로직으로 각각 메소드를 만들었습니다.
@Repository
class MemoRepository {
@PersistenceContext
private lateinit var em: EntityManager
fun save(memo: Memo) {
em.persist(memo)
}
fun remove(memo: Memo) {
em.remove(memo)
}
fun update(memo: Memo, title: String, content: String) {
memo.title = title
memo.content = content
}
fun findOne(id: Long): Memo {
return em.find(Memo::class.java, id)
}
fun findAll(): List<Memo> {
return em.createQuery("SELECT M FROM Memo AS M", Memo::class.java)
.resultList
}
fun findSearch(keyWord: String): List<Memo> {
return em.createQuery("SELECT M FROM Memo AS M WHERE M.title LIKE :keyWord", Memo::class.java)
.setParameter("keyWord", "%$keyWord%")
.resultList
}
}