juniors-dev-study / domain-driven-design

1 stars 0 forks source link

repository 코드 컨벤션 맞추기 #60

Open chanhyeong opened 2 years ago

chanhyeong commented 2 years ago

처음에 정의했던거와 다르게 지금 개별로 가고 있음

기존 정의

  1. {Domain}Repository
    • 필요한 method 들 정의
    • CrudRepository 를 상속하지만 Bean 등록 방지를 위해서 @NoRepositoryBean 명시
  2. {Domain}CrudRepository
    • CrudRepository 상속: spring-data-jdbc 가 자동으로 생성하는 repository bean 등록을 위함
  3. Default{Domain}Repository
    • 1과 2를 구현하는 구현체
chanhyeong commented 2 years ago

convention 에 문서 추가

youngvly commented 2 years ago
@Repository
interface CommentRepository : CrudRepository<Comment, Long> {
   // by CrudRepository
    fun findAllByRootIdInAndRootType(rootIds: List<String>, rootType: Comment.Root.Type): List<Comment>

   // by query annotation
    @Query("SELECT * FROM comment WHERE writer_id = :writerId")
    fun findAllByWriterIdTest(writerId: String): List<Comment>
}

query 어노테이션 사용해서 인터페이스하나로 뭉칠수있을것같은데 어떨까요??