Поддержка ключевого значения Spring Data Derived Delete
Поддерживает ли Spring Data Key Value производные методы запросов на удаление? Это не работает для меня.
Я продлил Repository
объявил несколько CrudRepository
методы, и добавил эти производные методы запроса к нему:
List<ChatMessageEntity> findByChatIdOrderBySequenceNumberAsc(String chatId);
List<ChatMessageEntity> removeByChatId(String chatId);
Long deleteByChatId(String chatId);
Все модульные тесты проходят, кроме двух производных методов запроса на удаление. removeByChatId
возвращает ожидаемый список, но ничего не удаляет. deleteByChatId
бросает это UnsupportedOperationException
:
java.lang.UnsupportedOperationException: Query method not supported.
at org.springframework.data.keyvalue.repository.query.KeyValuePartTreeQuery.execute(KeyValuePartTreeQuery.java:97)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:462)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:440)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:61)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy29.deleteByChatId(Unknown Source)
at com.pgi.kcondon.axonminexp.service.ChatRepositoryTest.testRemoveByChatId(ChatRepositoryTest.java:159)
Я использую Spring Boot 1.3.3.RELEASE, который зависит от значения ключа данных Spring 1.0.4.RELEASE.