public class ReactiveCassandraTemplate extends ObjectSE implements ReactiveCassandraOperations, ApplicationEventPublisherAware, ApplicationContextAware
ReactiveCassandraOperations
の主な実装。Reactive Cassandra の使用を簡素化し、一般的なエラーを回避できます。コア Cassandra ワークフローを実行します。このクラスは CQL クエリまたは更新を実行し、ReactiveResultSet
の反復処理を開始し、Cassandra 例外をキャッチして、org.springframework.dao
パッケージで定義されている汎用的でより情報量の多い例外階層に変換します。ReactiveSessionFactory
参照を使用して直接インスタンス化することにより、サービス実装内で使用できます。または、アプリケーションコンテキストで準備し、Bean 参照としてサービスに提供できます。
メモ: ReactiveSessionFactory
は、アプリケーションコンテキストでは常に Bean として構成する必要があります。最初のケースではサービスに直接指定され、2 番目のケースでは準備されたテンプレートに指定されます。
ReactiveSelectOperation.ReactiveSelect<T>, ReactiveSelectOperation.SelectWithProjection<T>, ReactiveSelectOperation.SelectWithQuery<T>, ReactiveSelectOperation.SelectWithTable<T>, ReactiveSelectOperation.TerminatingSelect<T>
ReactiveInsertOperation.InsertWithOptions<T>, ReactiveInsertOperation.InsertWithTable<T>, ReactiveInsertOperation.ReactiveInsert<T>, ReactiveInsertOperation.TerminatingInsert<T>
ReactiveUpdateOperation.ReactiveUpdate, ReactiveUpdateOperation.TerminatingUpdate, ReactiveUpdateOperation.UpdateWithQuery, ReactiveUpdateOperation.UpdateWithTable
ReactiveDeleteOperation.DeleteWithQuery, ReactiveDeleteOperation.DeleteWithTable, ReactiveDeleteOperation.ReactiveDelete, ReactiveDeleteOperation.TerminatingDelete
コンストラクターと説明 |
---|
ReactiveCassandraTemplate(ReactiveCqlOperations reactiveCqlOperations, CassandraConverter converter) |
ReactiveCassandraTemplate(ReactiveSession session) 指定された ReactiveSession とデフォルトの MappingCassandraConverter で初期化された ReactiveCassandraTemplate のインスタンスを作成します。 |
ReactiveCassandraTemplate(ReactiveSession session, CassandraConverter converter) |
ReactiveCassandraTemplate(ReactiveSessionFactory sessionFactory, CassandraConverter converter) |
修飾子と型 | メソッドと説明 |
---|---|
ReactiveCassandraBatchOperations | batchOps() 新しい ReactiveCassandraBatchOperations を返します。 |
reactor.core.publisher.Mono<LongSE> | count(ClassSE<?> entityClass) 指定されたエンティティクラスの行数を返します。 |
reactor.core.publisher.Mono<LongSE> | count(Query query, ClassSE<?> entityClass) Query を適用する特定のエンティティクラスの行数を返します。 |
ReactiveDeleteOperation.ReactiveDelete | delete(ClassSE<?> domainType) 指定された domainType SE の DELETE 操作の作成を開始します。 |
reactor.core.publisher.Mono<WriteResult> | delete(ObjectSE entity, QueryOptions options) QueryOptions を適用して指定されたエンティティを削除し、削除が適用された場合はエンティティを出力します。 |
reactor.core.publisher.Mono<BooleanSE> | delete(Query query, ClassSE<?> entityClass) Query によってテーブルからエンティティ (行)/columns を削除します。 |
<T> reactor.core.publisher.Mono<T> | delete(T entity) 指定されたエンティティを削除し、削除が適用された場合はエンティティを発行します。 |
reactor.core.publisher.Mono<BooleanSE> | deleteById(ObjectSE id, ClassSE<?> entityClass) 指定されたオブジェクトを ID によってテーブルから削除します。 |
reactor.core.publisher.Mono<BooleanSE> | exists(ObjectSE id, ClassSE<?> entityClass) 指定された id を持つ entityClass の行が存在するかどうかを確認します。 |
reactor.core.publisher.Mono<BooleanSE> | exists(Query query, ClassSE<?> entityClass) entityClass Query の結果が少なくとも 1 つの行を生成するかどうかを判別します。 |
CassandraConverter | getConverter() 基本となる CassandraConverter を返します。 |
protected org.springframework.data.cassandra.core.EntityOperations | getEntityOperations() Cassandra データソース内のエンティティに対してデータアクセス操作を実行するために使用される EntityOperations を返します。 |
protected SpelAwareProxyProjectionFactory | getProjectionFactory() このテンプレートが CQL クエリ射影を処理するために使用する、構成された ProjectionFactory への参照を返します。 |
ReactiveCqlOperations | getReactiveCqlOperations() CQL 操作を可能にするために、基盤となる ReactiveCqlOperations を公開します。 |
protected StatementFactory | getStatementFactory() このテンプレートによって Cassandra CQL ステートメントを構築および実行するために使用される StatementFactory を返します。 |
<T> ReactiveInsertOperation.ReactiveInsert<T> | insert(ClassSE<T> domainType) 指定された domainType SE の INSERT 操作の作成を開始します。 |
<T> reactor.core.publisher.Mono<T> | insert(T entity) 指定されたエンティティを挿入し、挿入が適用された場合はエンティティを発行します。 |
<T> reactor.core.publisher.Mono<EntityWriteResult<T>> | insert(T entity, InsertOptions options) WriteOptions を適用して指定されたエンティティを挿入し、挿入が適用された場合はエンティティを出力します。 |
protected <T> reactor.core.publisher.Mono<T> | maybeCallBeforeConvert(T object, CqlIdentifier tableName) |
protected <T> reactor.core.publisher.Mono<T> | maybeCallBeforeSave(T object, CqlIdentifier tableName, com.datastax.driver.core.Statement statement) |
protected <E extends CassandraMappingEvent<T>,T> | maybeEmitEvent(E event) |
<T> ReactiveSelectOperation.ReactiveSelect<T> | query(ClassSE<T> domainType) 指定された domainType SE の SELECT 操作の作成を開始します。 |
<T> reactor.core.publisher.Flux<T> | select(Query query, ClassSE<T> entityClass) SELECT クエリを実行し、結果のアイテムをエンティティのストリームに変換します。 |
<T> reactor.core.publisher.Flux<T> | select(com.datastax.driver.core.Statement statement, ClassSE<T> entityClass) SELECT クエリを実行し、結果のアイテムをエンティティのストリームに変換します。 |
<T> reactor.core.publisher.Flux<T> | select(StringSE cql, ClassSE<T> entityClass) SELECT クエリを実行し、結果のアイテムをエンティティのストリームに変換します。 |
<T> reactor.core.publisher.Mono<T> | selectOne(Query query, ClassSE<T> entityClass) SELECT クエリを実行し、結果のアイテムをエンティティに変換します。 |
<T> reactor.core.publisher.Mono<T> | selectOne(com.datastax.driver.core.Statement statement, ClassSE<T> entityClass) SELECT クエリを実行し、結果のアイテムをエンティティに変換します。 |
<T> reactor.core.publisher.Mono<T> | selectOne(StringSE cql, ClassSE<T> entityClass) SELECT クエリを実行し、結果のアイテムをエンティティに変換します。 |
<T> reactor.core.publisher.Mono<T> | selectOneById(ObjectSE id, ClassSE<T> entityClass) 指定された entityClass に対して id による選択を実行します。 |
void | setApplicationContext(ApplicationContext applicationContext) |
void | setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) |
void | setEntityCallbacks(ReactiveEntityCallbacks entityCallbacks) 永続化操作中にエンティティを前処理 / 後処理するように EntityCallbacks を構成します。 |
<T> reactor.core.publisher.Mono<Slice<T>> | slice(Query query, ClassSE<T> entityClass) ページングを使用して SELECT クエリを実行し、結果セットをエンティティの Slice に変換します。 |
<T> reactor.core.publisher.Mono<Slice<T>> | slice(com.datastax.driver.core.Statement statement, ClassSE<T> entityClass) ページングを使用して SELECT クエリを実行し、結果セットをエンティティの Slice に変換します。 |
reactor.core.publisher.Mono<VoidSE> | truncate(ClassSE<?> entityClass) TRUNCATE クエリを実行して、指定されたクラスのすべてのエンティティを削除します。 |
ReactiveUpdateOperation.ReactiveUpdate | update(ClassSE<?> domainType) 指定された domainType SE の UPDATE 操作の作成を開始します。 |
reactor.core.publisher.Mono<BooleanSE> | update(Query query, Update update, ClassSE<?> entityClass) クエリされたエンティティを更新し、更新が適用された場合は true を返します。 |
<T> reactor.core.publisher.Mono<T> | update(T entity) 指定されたエンティティを更新し、更新が適用された場合はエンティティを発行します。 |
<T> reactor.core.publisher.Mono<EntityWriteResult<T>> | update(T entity, UpdateOptions options) WriteOptions を適用して指定されたエンティティを更新し、更新が適用された場合はエンティティを出力します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
delete
public ReactiveCassandraTemplate(ReactiveSession session)
ReactiveSession
とデフォルトの MappingCassandraConverter
で初期化された ReactiveCassandraTemplate
のインスタンスを作成します。session
- ReactiveSession
は Cassandra とやり取りしていました。null であってはなりません。CassandraConverter
, Session
public ReactiveCassandraTemplate(ReactiveSession session, CassandraConverter converter)
session
- ReactiveSession
は Cassandra とやり取りしていました。null であってはなりません。converter
- CassandraConverter
は Java 型と Cassandra 型の間の変換に使用されます。null であってはなりません。CassandraConverter
, Session
public ReactiveCassandraTemplate(ReactiveSessionFactory sessionFactory, CassandraConverter converter)
sessionFactory
- ReactiveSessionFactory
は Cassandra とやり取りしていました。null であってはなりません。converter
- CassandraConverter
は Java 型と Cassandra 型の間の変換に使用されます。null であってはなりません。CassandraConverter
, Session
public ReactiveCassandraTemplate(ReactiveCqlOperations reactiveCqlOperations, CassandraConverter converter)
reactiveCqlOperations
- ReactiveCqlOperations
は Cassandra とやり取りしていました。null であってはなりません。converter
- CassandraConverter
は Java 型と Cassandra 型の間の変換に使用されます。null であってはなりません。CassandraConverter
, Session
public ReactiveCassandraBatchOperations batchOps()
ReactiveCassandraOperations
ReactiveCassandraBatchOperations
を返します。各 ReactiveCassandraBatchOperations
インスタンスは 1 回しか実行できないため、バッチごとに新しい ReactiveCassandraBatchOperations
インスタンスを取得する必要がある場合があります。ReactiveCassandraOperations
の batchOps
ReactiveCassandraBatchOperations
。public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
ApplicationEventPublisherAware
の setApplicationEventPublisher
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
ApplicationContextAware
の setApplicationContext
BeansException
public void setEntityCallbacks(@Nullable ReactiveEntityCallbacks entityCallbacks)
EntityCallbacks
を構成します。entityCallbacks
-public CassandraConverter getConverter()
ReactiveCassandraOperations
CassandraConverter
を返します。ReactiveCassandraOperations
の getConverter
CassandraConverter
。protected org.springframework.data.cassandra.core.EntityOperations getEntityOperations()
EntityOperations
を返します。EntityOperations
。EntityOperations
protected SpelAwareProxyProjectionFactory getProjectionFactory()
ProjectionFactory
への参照を返します。ProjectionFactory
への参照。SpelAwareProxyProjectionFactory
public ReactiveCqlOperations getReactiveCqlOperations()
ReactiveCassandraOperations
ReactiveCqlOperations
を公開します。ReactiveCassandraOperations
の getReactiveCqlOperations
ReactiveCqlOperations
。ReactiveCqlOperations
protected StatementFactory getStatementFactory()
StatementFactory
を返します。StatementFactory
。StatementFactory
public <T> reactor.core.publisher.Flux<T> select(StringSE cql, ClassSE<T> entityClass)
ReactiveCassandraOperations
SELECT
クエリを実行し、結果のアイテムをエンティティのストリームに変換します。ReactiveCassandraOperations
の select
cql
- null であってはなりません。entityClass
- エンティティ型は null にできません。public <T> reactor.core.publisher.Mono<T> selectOne(StringSE cql, ClassSE<T> entityClass)
ReactiveCassandraOperations
SELECT
クエリを実行し、結果のアイテムをエンティティに変換します。ReactiveCassandraOperations
の selectOne
cql
- null であってはなりません。entityClass
- エンティティ型は null にできません。Mono.empty()
によって返された結果オブジェクト public <T> reactor.core.publisher.Flux<T> select(com.datastax.driver.core.Statement statement, ClassSE<T> entityClass)
ReactiveCassandraOperations
SELECT
クエリを実行し、結果のアイテムをエンティティのストリームに変換します。ReactiveCassandraOperations
の select
statement
- null であってはなりません。entityClass
- エンティティ型は null にできません。public <T> reactor.core.publisher.Mono<T> selectOne(com.datastax.driver.core.Statement statement, ClassSE<T> entityClass)
ReactiveCassandraOperations
SELECT
クエリを実行し、結果のアイテムをエンティティに変換します。ReactiveCassandraOperations
の selectOne
statement
- null であってはなりません。entityClass
- エンティティ型は null にできません。Mono.empty()
によって返された結果オブジェクト public <T> reactor.core.publisher.Mono<Slice<T>> slice(com.datastax.driver.core.Statement statement, ClassSE<T> entityClass)
ReactiveCassandraOperations
ReactiveCassandraOperations
の slice
statement
- CQL ステートメントは null であってはなりません。entityClass
- エンティティ型は null にできません。Slice
の Mono.just(Object)
。public <T> reactor.core.publisher.Flux<T> select(Query query, ClassSE<T> entityClass) throws DataAccessException
ReactiveCassandraOperations
SELECT
クエリを実行し、結果のアイテムをエンティティのストリームに変換します。ReactiveCassandraOperations
の select
query
- null であってはなりません。entityClass
- エンティティ型は null にできません。DataAccessException
- 実行の発行に問題がある場合。public <T> reactor.core.publisher.Mono<T> selectOne(Query query, ClassSE<T> entityClass) throws DataAccessException
ReactiveCassandraOperations
SELECT
クエリを実行し、結果のアイテムをエンティティに変換します。ReactiveCassandraOperations
の selectOne
query
- null であってはなりません。entityClass
- エンティティ型は null にできません。Mono.empty()
によって返された結果オブジェクト。DataAccessException
- 実行の発行に問題がある場合。public <T> reactor.core.publisher.Mono<Slice<T>> slice(Query query, ClassSE<T> entityClass) throws DataAccessException
ReactiveCassandraOperations
SELECT
クエリを実行し、結果セットをエンティティの Slice
に変換します。ReactiveCassandraOperations
の slice
query
- CQL ステートメントの作成に使用されるクエリオブジェクトは null であってはなりません。entityClass
- エンティティ型は null にできません。Slice
の Mono.just(Object)
。DataAccessException
- クエリの実行に問題がある場合。CassandraPageRequest
public reactor.core.publisher.Mono<BooleanSE> update(Query query, Update update, ClassSE<?> entityClass) throws DataAccessException
ReactiveCassandraOperations
ReactiveCassandraOperations
の update
query
- null であってはなりません。update
- null であってはなりません。entityClass
- エンティティ型は null にできません。DataAccessException
- クエリの実行に問題がある場合。public reactor.core.publisher.Mono<BooleanSE> delete(Query query, ClassSE<?> entityClass) throws DataAccessException
ReactiveCassandraOperations
Query
によってテーブルからエンティティ (行)/columns を削除します。ReactiveCassandraOperations
の delete
query
- null であってはなりません。entityClass
- エンティティ型は null にできません。DataAccessException
- 実行の発行に問題がある場合。public reactor.core.publisher.Mono<LongSE> count(ClassSE<?> entityClass)
ReactiveCassandraOperations
ReactiveCassandraOperations
の count
entityClass
- エンティティの type
SE。null であってはなりません。public reactor.core.publisher.Mono<LongSE> count(Query query, ClassSE<?> entityClass) throws DataAccessException
ReactiveCassandraOperations
Query
を適用して、指定されたエンティティクラスの行数を返します。このオーバーライドされたメソッドにより、ユーザーは Query
述語を使用して選択条件をさらに絞り込み、指定された type
SE のエンティティのうち条件に一致するエンティティの数を判断できます。ReactiveCassandraOperations
の count
query
- 実行するユーザー定義のカウント Query
。null であってはなりません。entityClass
- エンティティの type
SE。null であってはなりません。DataAccessException
- クエリの実行中に問題が発生した場合。public reactor.core.publisher.Mono<BooleanSE> exists(ObjectSE id, ClassSE<?> entityClass)
ReactiveCassandraOperations
id
を持つ entityClass
の行が存在するかどうかを確認します。ReactiveCassandraOperations
の exists
id
- ID 値。単一の主キーの場合はプレーンな値です。複合主キーの場合は、PrimaryKeyClass
または MapId
のインスタンスです。null にすることはできません。entityClass
- エンティティの type
SE。null であってはなりません。public reactor.core.publisher.Mono<BooleanSE> exists(Query query, ClassSE<?> entityClass) throws DataAccessException
ReactiveCassandraOperations
entityClass
Query
の結果が少なくとも 1 つの行を生成するかどうかを判別します。ReactiveCassandraOperations
の exists
query
- 実行するユーザー定義の存在 Query
。null であってはなりません。entityClass
- エンティティの type
SE。null であってはなりません。DataAccessException
- クエリの実行中に問題が発生した場合。public <T> reactor.core.publisher.Mono<T> selectOneById(ObjectSE id, ClassSE<T> entityClass)
ReactiveCassandraOperations
entityClass
に対して id
による選択を実行します。ReactiveCassandraOperations
の selectOneById
id
- Id 値。単一の主キーの場合はプレーンな値です。複合主キーの場合は PrimaryKeyClass
または MapId
のいずれかです。null にすることはできません。entityClass
- エンティティ型は null にできません。Mono.empty()
によって返された結果オブジェクト public <T> reactor.core.publisher.Mono<T> insert(T entity)
ReactiveCassandraOperations
ReactiveCassandraOperations
の insert
entity
- 挿入するエンティティ。null であってはなりません。public <T> reactor.core.publisher.Mono<EntityWriteResult<T>> insert(T entity, InsertOptions options)
ReactiveCassandraOperations
WriteOptions
を適用して指定されたエンティティを挿入し、挿入が適用された場合はエンティティを出力します。ReactiveCassandraOperations
の insert
entity
- 挿入するエンティティ。null であってはなりません。options
- null であってはなりません。EntityWriteResult
。InsertOptions.empty()
public <T> reactor.core.publisher.Mono<T> update(T entity)
ReactiveCassandraOperations
ReactiveCassandraOperations
の update
entity
- 更新するエンティティ。null であってはなりません。public <T> reactor.core.publisher.Mono<EntityWriteResult<T>> update(T entity, UpdateOptions options)
ReactiveCassandraOperations
WriteOptions
を適用して指定されたエンティティを更新し、更新が適用された場合はエンティティを出力します。ReactiveCassandraOperations
の update
entity
- 更新するエンティティ。null であってはなりません。options
- null であってはなりません。EntityWriteResult
。UpdateOptions.empty()
public <T> reactor.core.publisher.Mono<T> delete(T entity)
ReactiveCassandraOperations
ReactiveCassandraOperations
の delete
entity
- null であってはなりません。public reactor.core.publisher.Mono<WriteResult> delete(ObjectSE entity, QueryOptions options)
ReactiveCassandraOperations
QueryOptions
を適用して指定されたエンティティを削除し、削除が適用された場合はエンティティを出力します。ReactiveCassandraOperations
の delete
entity
- null であってはなりません。options
- null であってはなりません。WriteResult
。QueryOptions.empty()
public reactor.core.publisher.Mono<BooleanSE> deleteById(ObjectSE id, ClassSE<?> entityClass)
ReactiveCassandraOperations
ReactiveCassandraOperations
の deleteById
id
- Id 値。単一の主キーの場合はプレーンな値です。複合主キーの場合は PrimaryKeyClass
または MapId
のいずれかです。null にすることはできません。entityClass
- エンティティ型は null にできません。public reactor.core.publisher.Mono<VoidSE> truncate(ClassSE<?> entityClass)
ReactiveCassandraOperations
TRUNCATE
クエリを実行して、指定されたクラスのすべてのエンティティを削除します。ReactiveCassandraOperations
の truncate
entityClass
- エンティティ型は null にできません。public ReactiveDeleteOperation.ReactiveDelete delete(ClassSE<?> domainType)
ReactiveDeleteOperation
domainType
SE の DELETE
操作の作成を開始します。ReactiveDeleteOperation
の delete
domainType
- 削除するドメインオブジェクトの type
SE。null であってはなりません。ReactiveDeleteOperation.ReactiveDelete
の新しいインスタンス。ReactiveDeleteOperation.ReactiveDelete
public <T> ReactiveInsertOperation.ReactiveInsert<T> insert(ClassSE<T> domainType)
ReactiveInsertOperation
domainType
SE の INSERT
操作の作成を開始します。ReactiveInsertOperation
の insert
T
- アプリケーションドメインオブジェクトの type
SE。domainType
- 挿入するドメインオブジェクトの type
SE。null であってはなりません。ReactiveInsertOperation.ReactiveInsert
の新しいインスタンス。ReactiveInsertOperation.ReactiveInsert
public <T> ReactiveSelectOperation.ReactiveSelect<T> query(ClassSE<T> domainType)
ReactiveSelectOperation
domainType
SE の SELECT
操作の作成を開始します。ReactiveSelectOperation
の query
T
- アプリケーションドメインオブジェクトの type
SE。domainType
- 照会するドメインオブジェクトの type
SE。null であってはなりません。ReactiveSelectOperation.ReactiveSelect
の新しいインスタンス。ReactiveSelectOperation.ReactiveSelect
public ReactiveUpdateOperation.ReactiveUpdate update(ClassSE<?> domainType)
ReactiveUpdateOperation
domainType
SE の UPDATE
操作の作成を開始します。ReactiveUpdateOperation
の update
domainType
- 更新するドメインオブジェクトの type
SE。null であってはなりません。ReactiveUpdateOperation.ReactiveUpdate
の新しいインスタンス。ReactiveUpdateOperation.ReactiveUpdate
protected <E extends CassandraMappingEvent<T>,T> void maybeEmitEvent(E event)
protected <T> reactor.core.publisher.Mono<T> maybeCallBeforeConvert(T object, CqlIdentifier tableName)
protected <T> reactor.core.publisher.Mono<T> maybeCallBeforeSave(T object, CqlIdentifier tableName, com.datastax.driver.core.Statement statement)
Copyright © 2011–2020 Pivotal Software, Inc.. All rights reserved.