亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

spring cassandra data 2.1.4版分頁

spring cassandra data 2.1.4版分頁

阿晨1998 2022-06-30 11:50:28
根據文檔:https ://docs.spring.io/spring-data/cassandra/docs/2.1.4.RELEASE/reference/html/#repositories.limit-query-resultSpring cassandra 數據使獲取分頁信息變得容易。但我無法讓它工作?;刭彙⒄{用和錯誤:1. 響應式呼叫回購:public interface MyRepository extends ReactiveCassandraRepository<MyClass, String> {  @Query("select * from my_keyspace.my_table where solr_query = ?0")  Mono<Slice<MyClass>> findMono(String solrQuery, Pageable page);}稱呼: Mono<Slice<MyClass>>  repository.findMono(queryString, CassandraPageRequest.first(20));錯誤:"exceptionDescription":"org.springframework.core.codec.CodecException: 類型定義錯誤:[簡單類型,類 com.datastax.driver.core.PagingState];嵌套異常是 com.fasterxml.jackson.databind.exc.InvalidDefinitionException:沒有為類 com.datastax.driver.core.PagingState 找到序列化程序,也沒有發現創建 BeanSerializer 的屬性(為避免異常,請禁用 SerializationFeature.FAIL_ON_EMPTY_BEANS)(通過參考鏈:org.springframework.data.domain.SliceImpl[\"pageable\ "]->org.springframework.data.cassandra.core.query.CassandraPageRequest[\"pagingState\"])","lines":["org.springframework.http.codec.json.AbstractJackson2Encoder.encodeValue(AbstractJackson2Encoder.java :175)","org.springframework.http.codec.json.AbstractJackson2Encoder。lambda$encode$0(AbstractJackson2Encoder.java:122)","reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:100)","reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java :67)","reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:114)","reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:92)","reactor。 core.publisher.Operators$MonoSubscriber.complete(Operators.java:1476)","reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:241)","r
查看完整描述

1 回答

?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

歡迎來到堆棧溢出。


第一個例子是合適的:


public interface MyRepository extends ReactiveCassandraRepository<MyClass, String> {

  @Query("select * from my_keyspace.my_table where solr_query = ?0")

  Mono<Slice<MyClass>> findMono(String solrQuery, Pageable page);

}


Mono<Slice<MyClass>>  repository.findMono(queryString, CassandraPageRequest.first(20));

問題是當您將其傳遞給 WebFlux(根據堆棧跟蹤)時,Jackson 無法對SliceImpl(的實現)進行編碼。Slice所以查詢產生了正確的結果,但如果你想對它進行 JSON 編碼,你需要傳遞Slice內容,而不是Slice本身。


相關說明:ReactiveCassandraRepository不實現ReactiveSortingRepository,因為帶有Sort參數的 Casandra 查詢始終需要一個WHERE子句。查看ReactiveSortingRepository,您會看到一個findAll(Sort)不采用過濾條件的方法:


public interface ReactiveSortingRepository<T, ID> extends ReactiveCrudRepository<T, ID> {

    Flux<T> findAll(Sort sort);

}


查看完整回答
反對 回復 2022-06-30
  • 1 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號