spring #mongodb #kotlin #spring-data-jpa #mongodb-query
#spring #mongodb #kotlin #spring-data-jpa #mongodb-запрос
Вопрос:
Я работаю с репозиторием в приложении Kotlin / springboot, которое расширяет ReactiveMongoRepository<T,ID>, и я запутался в используемом методе. В приведенном ниже примере это вызов
PersonRepository.existsByNamesIn(список (имя))
это меня смущает. Нигде в документации для ReactiveMongoRepository<T,ID> или в других суперинтерфейсах я не вижу метод, который выглядит как existsBy «Type» In() . Откуда берется возможность использовать этот запрос? Я просто пытаюсь понять немного больше о том, как использовать запросы таким образом.
Например, если у меня есть такой интерфейс, как:
interface PersonRepository : ReactiveMongoRepository<Person, String> {
fun existsByNamesIn(names: List<String>): Mono<Boolean>
}
а затем какой-нибудь менеджер, такой как
@Component
class PersonManager(
private val personRepository: PersonRepository
) {
fun existsByName(name: String): Mono<Boolean> {
return personRepository.existsByNamesIn(listOf(name))
}
}
и класс модели, такой как
@TypeAlias("person")
@Document
data class Person(
@Indexed
val names: List<names>
val id: String,
)
Комментарии:
1. Из этой статьи похоже, что он исходит из Spring data JPA, но я все еще немного смущен тем, откуда берется функциональность.