Interface CassandraOperations
- All Superinterfaces:
ExecutableDeleteOperation
,ExecutableInsertOperation
,ExecutableSelectOperation
,ExecutableUpdateOperation
,FluentCassandraOperations
- All Known Subinterfaces:
CassandraAdminOperations
- All Known Implementing Classes:
CassandraAdminTemplate
,CassandraTemplate
Interface specifying a basic set of Cassandra operations. Implemented by
CassandraTemplate
. Not often used
directly, but a useful option to enhance testability, as it can easily be mocked or stubbed.- Author:
- Alex Shvid, David Webb, Matthew Adams, Mark Paluch, Sam Lightfoot
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.data.cassandra.core.ExecutableDeleteOperation
ExecutableDeleteOperation.DeleteWithQuery, ExecutableDeleteOperation.DeleteWithTable, ExecutableDeleteOperation.ExecutableDelete, ExecutableDeleteOperation.TerminatingDelete
Nested classes/interfaces inherited from interface org.springframework.data.cassandra.core.ExecutableInsertOperation
ExecutableInsertOperation.ExecutableInsert<T>, ExecutableInsertOperation.InsertWithOptions<T>, ExecutableInsertOperation.InsertWithTable<T>, ExecutableInsertOperation.TerminatingInsert<T>
Nested classes/interfaces inherited from interface org.springframework.data.cassandra.core.ExecutableSelectOperation
ExecutableSelectOperation.ExecutableSelect<T>, ExecutableSelectOperation.SelectWithProjection<T>, ExecutableSelectOperation.SelectWithQuery<T>, ExecutableSelectOperation.SelectWithTable<T>, ExecutableSelectOperation.TerminatingSelect<T>
Nested classes/interfaces inherited from interface org.springframework.data.cassandra.core.ExecutableUpdateOperation
ExecutableUpdateOperation.ExecutableUpdate, ExecutableUpdateOperation.TerminatingUpdate, ExecutableUpdateOperation.UpdateWithQuery, ExecutableUpdateOperation.UpdateWithTable
-
Method Summary
Modifier and TypeMethodDescriptiondefault CassandraBatchOperations
batchOps()
Returns a newCassandraBatchOperations
usingBatchType.LOGGED
.batchOps
(com.datastax.oss.driver.api.core.cql.BatchType batchType) Returns a newCassandraBatchOperations
.long
Returns the number of rows for the given entity class.long
Returns the number of rows for the given entity class applyingQuery
.void
Delete the given entity and return the entity if the delete statement was applied.delete
(Object entity, QueryOptions options) Delete the given entity applyingQueryOptions
and return the entity if the delete statement was applied.default WriteResult
delete
(Object entity, DeleteOptions options) Delete the given entity applyingDeleteOptions
and return the entity if the delete statement was applied.boolean
Remove entities (rows)/columns from the table byQuery
.boolean
deleteById
(Object id, Class<?> entityClass) Remove the given object from the table by id.com.datastax.oss.driver.api.core.cql.ResultSet
execute
(com.datastax.oss.driver.api.core.cql.Statement<?> statement) Execute the given CassandraStatement
.boolean
Determine whether a row ofentityClass
with the givenid
exists.boolean
Determine whether the result forentityClass
Query
yields at least one row.Returns the underlyingCassandraConverter
.Expose the underlyingCqlOperations
to allow CQL operations.com.datastax.oss.driver.api.core.CqlIdentifier
getTableName
(Class<?> entityClass) The table name used for the specified class by this template.<T> T
insert
(T entity) Insert the given entity and return the entity if the insert was applied.<T> EntityWriteResult<T>
insert
(T entity, InsertOptions options) Insert the given entity applyingWriteOptions
and return the entity if the insert was applied.<T> List<T>
Execute aSELECT
query and convert the resulting items to aList
of entities.<T> List<T>
Execute aSELECT
query and convert the resulting items to aList
of entities.<T> List<T>
Execute aSELECT
query and convert the resulting items to aList
of entities.<T> T
Execute aSELECT
query and convert the resulting item to an entity.<T> T
Execute aSELECT
query and convert the resulting item to an entity.<T> T
Execute aSELECT
query and convert the resulting item to an entity.<T> T
selectOneById
(Object id, Class<T> entityClass) Execute the Select byid
for the givenentityClass
.<T> org.springframework.data.domain.Slice<T>
Execute aSELECT
query with paging and convert the result set to aSlice
of entities.<T> org.springframework.data.domain.Slice<T>
Execute aSELECT
query with paging and convert the result set to aSlice
of entities.<T> Stream<T>
Execute aSELECT
query and convert the resulting items to aIterator
of entities.<T> Stream<T>
Execute aSELECT
query and convert the resulting items to aIterator
of entities.<T> Stream<T>
Execute aSELECT
query and convert the resulting items to aIterator
of entities.void
Execute aTRUNCATE
query to remove all entities of a given class.boolean
Update the queried entities and return true if the update was applied.<T> T
update
(T entity) Update the given entity and return the entity if the update was applied.<T> EntityWriteResult<T>
update
(T entity, UpdateOptions options) Update the given entity applyingWriteOptions
and return the entity if the update was applied.Methods inherited from interface org.springframework.data.cassandra.core.ExecutableDeleteOperation
delete
Methods inherited from interface org.springframework.data.cassandra.core.ExecutableInsertOperation
insert
Methods inherited from interface org.springframework.data.cassandra.core.ExecutableSelectOperation
query
Methods inherited from interface org.springframework.data.cassandra.core.ExecutableUpdateOperation
update
-
Method Details
-
batchOps
Returns a newCassandraBatchOperations
usingBatchType.LOGGED
. EachCassandraBatchOperations
instance can be executed only once, so you need to obtain newCassandraBatchOperations
instances for each batch.- Returns:
- a new
CassandraBatchOperations
associated with the given entity class. - See Also:
-
batchOps
Returns a newCassandraBatchOperations
. EachCassandraBatchOperations
instance can be executed only once, so you need to obtain newCassandraBatchOperations
instances for each batch.- Parameters:
batchType
- must not be null.- Returns:
- a new
ReactiveCassandraBatchOperations
associated with the given entity class. - Since:
- 3.2.6
-
getCqlOperations
CqlOperations getCqlOperations()Expose the underlyingCqlOperations
to allow CQL operations.- Returns:
- the underlying
CqlOperations
. - See Also:
-
getConverter
CassandraConverter getConverter()Returns the underlyingCassandraConverter
.- Returns:
- the underlying
CassandraConverter
.
-
getTableName
The table name used for the specified class by this template.- Parameters:
entityClass
- The entity type must not be null.- Returns:
- the
CqlIdentifier
-
select
<T> List<T> select(String cql, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute aSELECT
query and convert the resulting items to aList
of entities.- Parameters:
cql
- must not be null.entityClass
- The entity type must not be null.- Returns:
- the converted results
- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-
stream
<T> Stream<T> stream(String cql, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute aSELECT
query and convert the resulting items to aIterator
of entities.Returns a
Iterator
that wraps the CassandraResultSet
.- Type Parameters:
T
- element return type.- Parameters:
cql
- query to execute. Must not be empty or null.entityClass
- Class type of the elements in theIterator
stream. Must not be null.- Returns:
- an
Iterator
(stream) over the elements in the query result set. - Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- Since:
- 1.5
-
selectOne
@Nullable <T> T selectOne(String cql, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute aSELECT
query and convert the resulting item to an entity.- Parameters:
cql
- must not be null.entityClass
- The entity type must not be null.- Returns:
- the converted object or null.
- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-
execute
com.datastax.oss.driver.api.core.cql.ResultSet execute(com.datastax.oss.driver.api.core.cql.Statement<?> statement) throws org.springframework.dao.DataAccessException Execute the given CassandraStatement
. Any errors that result from executing this command will be converted into Spring's DAO exception hierarchy.- Parameters:
statement
- a CassandraStatement
, must not be null.- Returns:
- the
ResultSet
. - Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- Since:
- 3.2
-
select
<T> List<T> select(com.datastax.oss.driver.api.core.cql.Statement<?> statement, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute aSELECT
query and convert the resulting items to aList
of entities.- Parameters:
statement
- must not be null.entityClass
- The entity type must not be null.- Returns:
- the converted results
- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-
slice
<T> org.springframework.data.domain.Slice<T> slice(com.datastax.oss.driver.api.core.cql.Statement<?> statement, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute aSELECT
query with paging and convert the result set to aSlice
of entities. A sliced query translates the effectivefetch size
to the page size.- Parameters:
statement
- the CQL statement, must not be null.entityClass
- The entity type must not be null.- Returns:
- the converted results
- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- Since:
- 2.0
-
stream
<T> Stream<T> stream(com.datastax.oss.driver.api.core.cql.Statement<?> statement, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute aSELECT
query and convert the resulting items to aIterator
of entities.Returns a
Iterator
that wraps the CassandraResultSet
.- Type Parameters:
T
- element return type.- Parameters:
statement
- query to execute. Must not be empty or null.entityClass
- Class type of the elements in theIterator
stream. Must not be null.- Returns:
- an
Iterator
(stream) over the elements in the query result set. - Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- Since:
- 1.5
-
selectOne
@Nullable <T> T selectOne(com.datastax.oss.driver.api.core.cql.Statement<?> statement, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute aSELECT
query and convert the resulting item to an entity.- Parameters:
statement
- must not be null.entityClass
- The entity type must not be null.- Returns:
- the converted object or null.
- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-
select
<T> List<T> select(Query query, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute aSELECT
query and convert the resulting items to aList
of entities.- Parameters:
query
- must not be null.entityClass
- The entity type must not be null.- Returns:
- the converted results
- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- Since:
- 2.0
-
slice
<T> org.springframework.data.domain.Slice<T> slice(Query query, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute aSELECT
query with paging and convert the result set to aSlice
of entities.- Parameters:
query
- the query object used to create a CQL statement, must not be null.entityClass
- The entity type must not be null.- Returns:
- the converted results
- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- Since:
- 2.0
- See Also:
-
stream
<T> Stream<T> stream(Query query, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute aSELECT
query and convert the resulting items to aIterator
of entities.Returns a
Iterator
that wraps the CassandraResultSet
.- Type Parameters:
T
- element return type.- Parameters:
query
- query to execute. Must not be empty or null.entityClass
- Class type of the elements in theIterator
stream. Must not be null.- Returns:
- an
Iterator
(stream) over the elements in the query result set. - Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- Since:
- 2.0
-
selectOne
@Nullable <T> T selectOne(Query query, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute aSELECT
query and convert the resulting item to an entity.- Parameters:
query
- must not be null.entityClass
- The entity type must not be null.- Returns:
- the converted object or null.
- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- Since:
- 2.0
-
update
boolean update(Query query, Update update, Class<?> entityClass) throws org.springframework.dao.DataAccessException Update the queried entities and return true if the update was applied.- Parameters:
query
- must not be null.update
- must not be null.entityClass
- The entity type must not be null.- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-
delete
boolean delete(Query query, Class<?> entityClass) throws org.springframework.dao.DataAccessException Remove entities (rows)/columns from the table byQuery
.- Parameters:
query
- must not be null.entityClass
- The entity type must not be null.- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-
count
Returns the number of rows for the given entity class.- Parameters:
entityClass
-type
of the entity; must not be null.- Returns:
- the number of existing entities.
- Throws:
org.springframework.dao.DataAccessException
- if any problem occurs while executing the query.
-
count
-
exists
Determine whether a row ofentityClass
with the givenid
exists.- Parameters:
id
- Id value. For single primary keys it's the plain value. For composite primary keys either, it's an instance of eitherPrimaryKeyClass
orMapId
. Must not be null.entityClass
-type
of the entity; must not be null.- Returns:
- true if the object exists.
- Throws:
org.springframework.dao.DataAccessException
- if any problem occurs while executing the query.
-
exists
boolean exists(Query query, Class<?> entityClass) throws org.springframework.dao.DataAccessException Determine whether the result forentityClass
Query
yields at least one row. -
selectOneById
@Nullable <T> T selectOneById(Object id, Class<T> entityClass) throws org.springframework.dao.DataAccessException Execute the Select byid
for the givenentityClass
.- Parameters:
id
- the Id value. For single primary keys it's the plain value. For composite primary keys either thePrimaryKeyClass
orMapId
. Must not be null.entityClass
- The entity type must not be null.- Returns:
- the converted object or null.
- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-
insert
<T> T insert(T entity) throws org.springframework.dao.DataAccessException Insert the given entity and return the entity if the insert was applied.- Parameters:
entity
- The entity to insert, must not be null.- Returns:
- the inserted entity.
- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-
insert
<T> EntityWriteResult<T> insert(T entity, InsertOptions options) throws org.springframework.dao.DataAccessException Insert the given entity applyingWriteOptions
and return the entity if the insert was applied.- Parameters:
entity
- The entity to insert, must not be null.options
- must not be null.- Returns:
- the
EntityWriteResult
for this operation. - Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- See Also:
-
update
<T> T update(T entity) throws org.springframework.dao.DataAccessException Update the given entity and return the entity if the update was applied.- Parameters:
entity
- The entity to update, must not be null.- Returns:
- the updated entity.
- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-
update
<T> EntityWriteResult<T> update(T entity, UpdateOptions options) throws org.springframework.dao.DataAccessException Update the given entity applyingWriteOptions
and return the entity if the update was applied.- Parameters:
entity
- The entity to update, must not be null.options
- must not be null.- Returns:
- the
EntityWriteResult
for this operation. - Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- See Also:
-
delete
Delete the given entity and return the entity if the delete statement was applied.- Parameters:
entity
- must not be null.- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-
delete
WriteResult delete(Object entity, QueryOptions options) throws org.springframework.dao.DataAccessException Delete the given entity applyingQueryOptions
and return the entity if the delete statement was applied.- Parameters:
entity
- must not be null.options
- must not be null.- Returns:
- the
WriteResult
for this operation. - Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- See Also:
-
delete
default WriteResult delete(Object entity, DeleteOptions options) throws org.springframework.dao.DataAccessException Delete the given entity applyingDeleteOptions
and return the entity if the delete statement was applied.- Parameters:
entity
- must not be null.options
- must not be null.- Returns:
- the
WriteResult
for this operation. - Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.- Since:
- 2.2
- See Also:
-
deleteById
boolean deleteById(Object id, Class<?> entityClass) throws org.springframework.dao.DataAccessException Remove the given object from the table by id.- Parameters:
id
- the Id value. For single primary keys it's the plain value. For composite primary keys either thePrimaryKeyClass
orMapId
. Must not be null.entityClass
- The entity type must not be null.- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-
truncate
Execute aTRUNCATE
query to remove all entities of a given class.- Parameters:
entityClass
- The entity type must not be null.- Throws:
org.springframework.dao.DataAccessException
- if there is any problem executing the query.
-