クラス CassandraAccessor
java.lang.ObjectSE
org.springframework.data.cassandra.core.cql.CassandraAccessor
- 実装されたすべてのインターフェース:
InitializingBean
- 既知の直属サブクラス
AsyncCqlTemplate
、AsyncCqlTemplate
、CqlTemplate
CassandraAccessor
は、Cassandra SessionFactory
および CassandraExceptionTranslator
へのアクセスを提供します。 より高い抽象化レベルを提供するクラスは通常、CassandraAccessor
を継承し、CqlSession
を使用して SessionFactory
の上にさらに豊富な機能セットを提供します。
- 作成者:
- David Webb, Mark Paluch, John Blum, Tomasz Lelek
- 関連事項:
InitializingBean
CqlSession
フィールドサマリー
フィールドコンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
Cassandra、CqlSession
、例外トランスレータが適切に設定されていることを確認します。protected com.datastax.oss.driver.api.core.cql.Statement<?>
applyStatementSettings
(com.datastax.oss.driver.api.core.cql.Statement<?> statement) ページサイズや一貫性レベルなどのステートメント設定を適用して、指定された CQL ステートメントを準備します。com.datastax.oss.driver.api.core.ConsistencyLevel
このテンプレートによって使用される例外トランスレータを返します。この例外トランスレータは、Cassandra 固有の例外を Spring DAO の例外階層に変換します。int
使用すべきではありません。com.datastax.oss.driver.api.core.CqlIdentifier
int
com.datastax.oss.driver.api.core.ConsistencyLevel
com.datastax.oss.driver.api.core.CqlSession
使用すべきではありません。2.0 以降。このテンプレートが Cassandra データアクセス操作を実行するために使用する CassandraSessionFactory
を返します。列をキーと値のペアとして読み取るための新しい RowMapper を作成します。protected PreparedStatementBinder
newPreparedStatementBinder
(ObjectSE[] args) 渡された引数を使用して、新しい引数ベースの PreparedStatementSetter を作成します。protected <T> RowMapper<T>
newSingleColumnRowMapper
(ClassSE<T> requiredType) 単一の列から結果オブジェクトを読み取るための新しい RowMapper を作成します。protected com.datastax.oss.driver.api.core.cql.SimpleStatement
newStatement
(StringSE cql) cql
を指定してSimpleStatement
を作成します。void
setConsistencyLevel
(com.datastax.oss.driver.api.core.ConsistencyLevel consistencyLevel) このテンプレートの一貫性レベルを設定します。void
setExceptionTranslator
(CqlExceptionTranslator exceptionTranslator) このテンプレートで使用される例外トランスレータを設定し、Cassandra 固有の例外を Spring DAO の例外階層に変換します。void
setExecutionProfile
(StringSE profileName) このテンプレートのドライバー実行プロファイルを設定します。void
setExecutionProfileResolver
(ExecutionProfileResolver executionProfileResolver) このテンプレートのExecutionProfileResolver
を設定します。void
setFetchSize
(int fetchSize) 使用すべきではありません。3.0 以降、setPageSize(int)
を使用void
setKeyspace
(com.datastax.oss.driver.api.core.CqlIdentifier keyspace) このテンプレートのステートメントレベルで適用されるkeyspace
を設定します。void
setPageSize
(int fetchSize) このテンプレートのページサイズを設定します。void
setSerialConsistencyLevel
(com.datastax.oss.driver.api.core.ConsistencyLevel consistencyLevel) このテンプレートのシリアル一貫性レベルを設定します。void
setSession
(com.datastax.oss.driver.api.core.CqlSession session) このテンプレートが Cassandra データアクセス操作を実行するために使用する CassandraCqlSession
を設定します。void
setSessionFactory
(SessionFactory sessionFactory) このテンプレートが Cassandra データアクセス操作を実行するために使用する CassandraSessionFactory
を設定します。protected static StringSE
潜在的なプロバイダーオブジェクトから CQL を決定します。protected DataAccessException
translate
(StringSE task, StringSE cql, RuntimeExceptionSE ex) 指定されたRuntimeException
SE を汎用DataAccessException
に変換します。protected DataAccessException
指定されたRuntimeException
SE を汎用DataAccessException
に変換します。
フィールドの詳細
logger
サブクラスで利用可能なロガー
コンストラクターの詳細
CassandraAccessor
public CassandraAccessor()
メソッドの詳細
afterPropertiesSet
public void afterPropertiesSet()Cassandra、CqlSession
、例外トランスレータが適切に設定されていることを確認します。- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
setConsistencyLevel
public void setConsistencyLevel(@Nullable com.datastax.oss.driver.api.core.ConsistencyLevel consistencyLevel) このテンプレートの一貫性レベルを設定します。一貫性レベルは、クエリ処理に関係するノードの数を定義します。緩やかな一貫性レベルの設定では、使用するノードは少なくなりますが、最終的な一貫性が発生する可能性が高くなります。一方、一貫性レベルが高いと、より多くのノードが関係し、より高い一貫性保証で結果が取得されます。- 関連事項:
Statement.setConsistencyLevel(ConsistencyLevel)
RetryPolicy
getConsistencyLevel
- 戻り値:
- このテンプレートに指定された
ConsistencyLevel
。
setExceptionTranslator
このテンプレートで使用される例外トランスレータを設定し、Cassandra 固有の例外を Spring DAO の例外階層に変換します。- パラメーター:
exceptionTranslator
- 設定する例外トランスレータ。null にすることはできません。- 関連事項:
getExceptionTranslator
このテンプレートによって使用される例外トランスレータを返します。この例外トランスレータは、Cassandra 固有の例外を Spring DAO の例外階層に変換します。- 戻り値:
- Cassandra 例外トランスレータ。
- 関連事項:
setExecutionProfile
このテンプレートのドライバー実行プロファイルを設定します。- 導入:
- 3.0
- 関連事項:
Statement.setExecutionProfileName(String)
ExecutionProfileResolver
setExecutionProfileResolver
このテンプレートのExecutionProfileResolver
を設定します。- 導入:
- 3.0
- 関連事項:
DriverExecutionProfile
ExecutionProfileResolver
getExecutionProfileResolver
- 戻り値:
- このテンプレートに指定された
ExecutionProfileResolver
。 - 導入:
- 3.0
setFetchSize
使用すべきではありません。3.0 以降、setPageSize(int)
を使用このテンプレートのフェッチサイズを設定します。これは、大きな結果セットを処理する場合に重要です。この値をデフォルト値より高く設定すると、メモリ消費量は増えますが、処理速度が向上します。この値を低く設定すると、アプリケーションによって読み取られない行データの転送を回避できます。デフォルトは -1 で、CQL ドライバーのデフォルト構成を使用する (つまり、特定のフェッチサイズ設定をドライバーに渡さない) ことを示します。- 関連事項:
StatementBuilder.setPageSize(int)
getFetchSize
使用すべきではありません。3.0 以降、getPageSize()
を使用します。- 戻り値:
- このテンプレートに指定されたフェッチサイズ。
setKeyspace
public void setKeyspace(com.datastax.oss.driver.api.core.CqlIdentifier keyspace) このテンプレートのステートメントレベルで適用されるkeyspace
を設定します。設定されていない場合は、デフォルトのCqlSession
キースペースが使用されます。- パラメーター:
keyspace
- 適用するキースペースは null であってはなりません。- 導入:
- 3.1
- 関連事項:
SimpleStatement.setKeyspace(CqlIdentifier)
BatchStatement.setKeyspace(CqlIdentifier)
getKeyspace
- 戻り値:
- このテンプレートのステートメントレベルで適用される
keyspace
。 - 導入:
- 3.1
setPageSize
public void setPageSize(int fetchSize) このテンプレートのページサイズを設定します。これは、大きな結果セットを処理する場合に重要です。この値をデフォルト値より高く設定すると、メモリ消費量は増えますが、処理速度が向上します。この値を低く設定すると、アプリケーションによって読み取られない行データの転送を回避できます。デフォルトは -1 で、CQL ドライバーのデフォルト構成を使用する (つまり、特定のページサイズ設定をドライバーに渡さない) ことを示します。- 関連事項:
StatementBuilder.setPageSize(int)
getPageSize
public int getPageSize()- 戻り値:
- このテンプレートに指定されたページサイズ。
setSerialConsistencyLevel
public void setSerialConsistencyLevel(@Nullable com.datastax.oss.driver.api.core.ConsistencyLevel consistencyLevel) このテンプレートのシリアル一貫性レベルを設定します。- 導入:
- 3.0
- 関連事項:
Statement.setSerialConsistencyLevel(ConsistencyLevel)
ConsistencyLevel
getSerialConsistencyLevel
- 戻り値:
- このテンプレートに指定されたシリアル
ConsistencyLevel
。 - 導入:
- 3.0
setSession
public void setSession(com.datastax.oss.driver.api.core.CqlSession session) このテンプレートが Cassandra データアクセス操作を実行するために使用する CassandraCqlSession
を設定します。session
は現在のgetSessionFactory()
をDefaultSessionFactory
に置き換えます。- パラメーター:
session
- このテンプレートで使用される CassandraCqlSession
は null にできません。- 関連事項:
CqlSession
DefaultSessionFactory
getSession
使用すべきではありません。2.0 以降。このクラスは、ライフサイクル中にSessionFactory
を使用して、異なるCqlSession
間で CQL 呼び出しをディスパッチします。このテンプレートによって Cassandra データアクセス操作を実行するために使用されるSessionFactory
から CassandraCqlSession
を返します。- 戻り値:
- このテンプレートで使用される Cassandra
CqlSession
。 - 関連事項:
CqlSession
setSessionFactory
このテンプレートが Cassandra データアクセス操作を実行するために使用する CassandraSessionFactory
を設定します。- パラメーター:
sessionFactory
- このテンプレートで使用される CassandraCqlSession
。null にすることはできません。- 導入:
- 2.0
- 関連事項:
CqlSession
getSessionFactory
このテンプレートが Cassandra データアクセス操作を実行するために使用する CassandraSessionFactory
を返します。- 戻り値:
- このテンプレートで使用される Cassandra
SessionFactory
。 - 導入:
- 2.0
- 関連事項:
newStatement
cql
を指定してSimpleStatement
を作成します。- パラメーター:
cql
- CQL クエリ。- 戻り値:
- 使用する
SimpleStatement
- 導入:
- 3.0
applyStatementSettings
protected com.datastax.oss.driver.api.core.cql.Statement<?> applyStatementSettings(com.datastax.oss.driver.api.core.cql.Statement<?> statement) ページサイズや一貫性レベルなどのステートメント設定を適用して、指定された CQL ステートメントを準備します。translateExceptionIfPossible
指定されたRuntimeException
SE を汎用DataAccessException
に変換します。返される
DataAccessException
には、根本原因として元のRuntimeException
が含まれているはずです。ただし、DataAccessException
は他のリソース API によっても発生する可能性があるため、クライアントコードは通常これに依存しない可能性があります。ただし、Cassandra ベースのアクセスが発生したと予想される場合、getRootCause() instanceof DataAccessException
チェック (および後続のキャスト) は信頼できると見なされます。- パラメーター:
ex
- 問題のあるRuntimeException
SE- 戻り値:
- DataAccessException、
RuntimeException
を包む - 関連事項:
translate
protected DataAccessException translate(StringSE task, @Nullable StringSE cql, RuntimeExceptionSE ex) 指定されたRuntimeException
SE を汎用DataAccessException
に変換します。返される
DataAccessException
には、根本原因として元のRuntimeException
が含まれているはずです。ただし、DataAccessException
は他のリソース API によっても発生する可能性があるため、クライアントコードは通常これに依存しない可能性があります。ただし、Cassandra ベースのアクセスが発生したと予想される場合、getRootCause() instanceof DataAccessException
チェック (および後続のキャスト) は信頼できると見なされます。- パラメーター:
task
- 試行されているタスクを説明する読み取り可能なテキストcql
- 問題の原因となった CQL クエリまたは更新 (null の可能性があります)ex
- 問題のあるRuntimeException
SE- 戻り値:
- DataAccessException、
RuntimeException
を包む - 関連事項:
newPreparedStatementBinder
渡された引数を使用して、新しい引数ベースの PreparedStatementSetter を作成します。デフォルトでは、ArgumentPreparedStatementBinder
を作成します。このメソッドを使用すると、サブクラスによって作成をオーバーライドできます。- パラメーター:
args
- 引数を持つオブジェクト配列- 戻り値:
- 使用する新しい
PreparedStatementBinder
newColumnMapRowMapper
列をキーと値のペアとして読み取るための新しい RowMapper を作成します。- 戻り値:
- 使用する RowMapper
- 関連事項:
newSingleColumnRowMapper
単一の列から結果オブジェクトを読み取るための新しい RowMapper を作成します。- パラメーター:
requiredType
- 各結果オブジェクトが一致すると予想される型- 戻り値:
- 使用する RowMapper
- 関連事項:
toCql
潜在的なプロバイダーオブジェクトから CQL を決定します。- パラメーター:
cqlProvider
- 潜在的にCqlProvider
であるオブジェクト- 戻り値:
- CQL 文字列、または null
- 関連事項:
getPageSize()
を使用します。