[KoPring] JpaRepository + 자신의 로직 = 커스텀Repository

Sihwan Kim·2024년 2월 23일

KoPring

목록 보기
2/10

JpaRepository + 자신의 로직 = 커스텀Repository

보통은 JpaRepository로 구현하고 자신의 로직을 넣기 위해 커스텀을 하겠지만...
나의 경우 Jpql로 구현해놓고 JpaRepository를 적용해서 코드를 줄이는 어떻게 보면 바보같은 구현을 했다... ㅋㅋㅋㅋ

1. 서비스 로직이 들어간 Repository의 인터페이스 만들기

interface UserCustomRepository  {


    fun save(user:User) // jpaRepository사용시 필요없어짐.

    fun loadMainUserList(): MutableList<User>
    
    fun loadUser(id : Long): User // jpaRepository사용시 필요없어짐.

}

2. 인터페이스의 구현체를 뒤에 Impl을 붙여서 만들기 => 설정변경시 Impl아니어도 됨.

3. 실제 사용할 Repository 인터페이스 생성

@Repository
interface UserRepository : JpaRepository<Vote, Long>, UserCustomRepository

4. 이제 UserRepository를 DI받아서 사용하면 끝!!

0개의 댓글