Базовый репозиторий в Hibernate Reactive
Как я могу сделать baseRepository в hibernate реактивным в kotlin?
Я хочу создать репозиторий для всех других репозиториев, таких как JpaRepository.
Как я могу это реализовать?
Мой базовый репозиторий
interface BaseRepository<E, ID> {
suspend fun save(entity: E): E
suspend fun findByIdOrNull(id: ID): E?
}
Мой BaseRepositoryImpl
class BaseRepositoryImpl<E, ID>(
private val session: Mutiny.Session,
private val domainClass: Class<E>
) : BaseRepository<E, ID> {
override suspend fun save(entity: E): E {
session.persist(entity)
.await()
return entity
}
override suspend fun findByIdOrNull(id: ID): E? {
return session.find(domainClass, id)
.convert()
.with(toMono()).awaitSingleOrNull()
}
}
Как я могу использовать этот baseRepository?