Skip to content

Commit b76cae6

Browse files
committed
[BOOK-79] feat: infra - BookRepository 기능개발 (#15)
1 parent 3ff9bc2 commit b76cae6

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package org.yapp.infra.book.repository
2+
3+
import org.springframework.data.jpa.repository.JpaRepository
4+
import org.yapp.infra.book.entity.BookEntity
5+
6+
/**
7+
* JPA repository for BookEntity.
8+
*/
9+
interface JpaBookRepository : JpaRepository<BookEntity, String> {
10+
11+
fun findByIsbn(isbn: String): BookEntity?
12+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package org.yapp.infra.book.repository.impl
2+
3+
import org.springframework.stereotype.Repository
4+
import org.yapp.domain.book.Book
5+
import org.yapp.domain.book.BookRepository
6+
import org.yapp.infra.book.entity.BookEntity
7+
import org.yapp.infra.book.repository.JpaBookRepository
8+
9+
@Repository
10+
class BookRepositoryImpl(
11+
private val jpaBookRepository: JpaBookRepository
12+
) : BookRepository {
13+
14+
override fun findByIsbn(isbn: String): Book? {
15+
return jpaBookRepository.findByIsbn(isbn)?.toDomain()
16+
}
17+
18+
override fun save(book: Book): Book {
19+
val bookEntity = BookEntity.fromDomain(book)
20+
val savedEntity = jpaBookRepository.save(bookEntity)
21+
return savedEntity.toDomain()
22+
}
23+
}

0 commit comments

Comments
 (0)