Я пытаюсь найти и удалить указанный c документ из MongoRepository в программе Spring. Документация дает примеры Person deleteSingleByLastname(String lastname)
и Optional<Person> deleteByBirthdate(Date birthdate)
как методов, которые могут быть использованы для sh этого. Однако когда я пытаюсь это сделать, я получаю следующее сообщение об ошибке: class java.lang.Long cannot be cast to class [my model class]
. Я нашел этот вопрос , который похож, но в нем не упоминается ключевое слово deleteSingleBy...
из документации, которую я пытаюсь использовать.
Вот что я пробовал:
@Repository
public interface SomeModelRepository extends MongoRepository<SomeModel, String> {
// This one works
List<SomeModel> removeByKey(String key);
//...and all of these don't
Optional<SomeModel> removeByKey(String key);
Optional<SomeModel> removeSingleByKey(String key);
Optional<SomeModel> deleteByKey(String key);
Optional<SomeModel> deleteSinglByKey(String key);
@Nullable
SomeModel removeByKey(String key);
@Nullable
SomeModel removeSingleByKey(String key);
@Nullable
SomeModel deleteByKey(String key);
@Nullable
SomeModel deleteSingleByKey(String key);
}
Почему это не работает? Я использую версию spring-boot-starter-data-mongodb
с февраля 2020 года.