DATACASS-656 - Polishing.

Fix references to CqlSession. Typos.

Original pull request: #167.
This commit is contained in:
Mark Paluch
2020-01-08 10:58:09 +01:00
parent 4d08a90eda
commit 343983847d
18 changed files with 79 additions and 56 deletions

View File

@@ -26,6 +26,7 @@ import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.convert.converter.Converter;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.data.cassandra.SessionFactory;
import org.springframework.data.cassandra.core.CassandraAdminTemplate;
import org.springframework.data.cassandra.core.convert.CassandraConverter;
@@ -231,4 +232,15 @@ public abstract class AbstractCassandraConfiguration extends AbstractSessionConf
public SchemaAction getSchemaAction() {
return SchemaAction.NONE;
}
/**
* Creates a new {@link ByteArrayResource} given {@code content}.
*
* @param content the script content.
* @return a new {@link ByteArrayResource} for {@code content}.
* @since 3.0
*/
protected ByteArrayResource scriptOf(String content) {
return new ByteArrayResource(content.getBytes());
}
}

View File

@@ -32,11 +32,14 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.dao.DataAccessException;
import org.springframework.dao.support.PersistenceExceptionTranslator;
import org.springframework.data.cassandra.core.CassandraAdminOperations;
import org.springframework.data.cassandra.core.CassandraAdminTemplate;
import org.springframework.data.cassandra.core.CassandraPersistentEntitySchemaCreator;
import org.springframework.data.cassandra.core.CassandraPersistentEntitySchemaDropper;
import org.springframework.data.cassandra.core.convert.CassandraConverter;
import org.springframework.data.cassandra.core.cql.CassandraExceptionTranslator;
import org.springframework.data.cassandra.core.cql.generator.AlterKeyspaceCqlGenerator;
import org.springframework.data.cassandra.core.cql.generator.CreateKeyspaceCqlGenerator;
import org.springframework.data.cassandra.core.cql.generator.DropKeyspaceCqlGenerator;
@@ -64,7 +67,8 @@ import com.datastax.oss.driver.api.core.CqlSessionBuilder;
* @author Mark Paluch
* @since 3.0
*/
public class CqlSessionFactoryBean implements FactoryBean<CqlSession>, InitializingBean, DisposableBean {
public class CqlSessionFactoryBean
implements FactoryBean<CqlSession>, InitializingBean, DisposableBean, PersistenceExceptionTranslator {
public static final int DEFAULT_PORT = 9042;
public static final String DEFAULT_CONTACT_POINTS = "localhost";
@@ -74,6 +78,7 @@ public class CqlSessionFactoryBean implements FactoryBean<CqlSession>, Initializ
private static final boolean DEFAULT_CREATE_IF_NOT_EXISTS = false;
private static final boolean DEFAULT_DROP_TABLES = false;
private static final boolean DEFAULT_DROP_UNUSED_TABLES = false;
private static final CassandraExceptionTranslator EXCEPTION_TRANSLATOR = new CassandraExceptionTranslator();
private @Nullable CqlSession systemSession;
private @Nullable CqlSession session;
@@ -652,4 +657,9 @@ public class CqlSessionFactoryBean implements FactoryBean<CqlSession>, Initializ
"Unsupported specification type: " + ClassUtils.getQualifiedName(specification.getClass()));
}
@Nullable
@Override
public DataAccessException translateExceptionIfPossible(RuntimeException e) {
return EXCEPTION_TRANSLATOR.translateExceptionIfPossible(e);
}
}

View File

@@ -69,7 +69,9 @@ public class SessionFactoryFactoryBean extends AbstractFactoryBean<SessionFactor
}
/**
* Set the {@link KeyspacePopulator} to execute during the bean initialization phase.
* Set the {@link KeyspacePopulator} to execute during the bean initialization phase. The
* {@link KeyspacePopulator#populate(CqlSession) KeyspacePopulator} is invoked before creating
* {@link #setSchemaAction(SchemaAction) the schema}.
*
* @param keyspacePopulator the {@link KeyspacePopulator} to use during initialization.
* @see #setKeyspaceCleaner

View File

@@ -939,7 +939,7 @@ public class AsyncCassandraTemplate
}
/* (non-Javadoc)
* @see org.springframework.data.cassandra.core.cql.AsyncSessionCallback#doInSession(com.datastax.driver.core.Session)
* @see org.springframework.data.cassandra.core.cql.AsyncSessionCallback#doInSession(com.datastax.oss.driver.api.core.CqlSession)
*/
@Override
public ListenableFuture<AsyncResultSet> doInSession(CqlSession session)

View File

@@ -140,7 +140,7 @@ public class ReactiveCassandraTemplate
* @param converter {@link CassandraConverter} used to convert between Java and Cassandra types; must not be
* {@literal null}.
* @see org.springframework.data.cassandra.core.convert.CassandraConverter
* @see com.datastax.driver.core.Session
* @see com.datastax.oss.driver.api.core.CqlSession
*/
public ReactiveCassandraTemplate(ReactiveSession session, CassandraConverter converter) {
this(new DefaultReactiveSessionFactory(session), converter);
@@ -154,7 +154,7 @@ public class ReactiveCassandraTemplate
* @param converter {@link CassandraConverter} used to convert between Java and Cassandra types; must not be
* {@literal null}.
* @see org.springframework.data.cassandra.core.convert.CassandraConverter
* @see com.datastax.driver.core.Session
* @see com.datastax.oss.driver.api.core.CqlSession
*/
public ReactiveCassandraTemplate(ReactiveSessionFactory sessionFactory, CassandraConverter converter) {
this(new ReactiveCqlTemplate(sessionFactory), converter);
@@ -169,7 +169,7 @@ public class ReactiveCassandraTemplate
* @param converter {@link CassandraConverter} used to convert between Java and Cassandra types; must not be
* {@literal null}.
* @see org.springframework.data.cassandra.core.convert.CassandraConverter
* @see com.datastax.driver.core.Session
* @see com.datastax.oss.driver.api.core.CqlSession
*/
public ReactiveCassandraTemplate(ReactiveCqlOperations reactiveCqlOperations, CassandraConverter converter) {

View File

@@ -48,9 +48,9 @@ public interface AsyncCqlOperations {
/**
* Execute a CQL data access operation, implemented as callback action working on a
* {@link com.datastax.driver.core.Session}. This allows for implementing arbitrary data access operations, within
* Spring's managed CQL environment: that is, converting CQL {@link com.datastax.oss.driver.api.core.DriverException}s
* into Spring's {@link DataAccessException} hierarchy.
* {@link com.datastax.oss.driver.api.core.CqlSession}. This allows for implementing arbitrary data access operations,
* within Spring's managed CQL environment: that is, converting CQL
* {@link com.datastax.oss.driver.api.core.DriverException}s into Spring's {@link DataAccessException} hierarchy.
* <p>
* The callback action can return a result object, for example a domain object or a collection of domain objects.
*
@@ -638,7 +638,7 @@ public interface AsyncCqlOperations {
* The callback action can return a result object, for example a domain object or a collection of domain objects.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param action callback object that specifies the action, must not be {@literal null}.
* @return a result object returned by the action, or {@literal null}.
* @throws DataAccessException if there is any problem executing the query.
@@ -650,7 +650,7 @@ public interface AsyncCqlOperations {
* Query using a prepared statement, reading the {@link ResultSet} with a {@link AsyncResultSetExtractor}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param resultSetExtractor object that will extract results, must not be {@literal null}.
* @return an arbitrary result object, as returned by the {@link AsyncResultSetExtractor}
* @throws DataAccessException if there is any problem executing the query.
@@ -663,7 +663,7 @@ public interface AsyncCqlOperations {
* {@link RowCallbackHandler}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param rowCallbackHandler object that will extract results, one row at a time, must not be {@literal null}.
* @throws DataAccessException if there is any problem executing the query.
*/
@@ -674,7 +674,7 @@ public interface AsyncCqlOperations {
* Query using a prepared statement, mapping each row to a Java object via a {@link RowMapper}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param rowMapper object that will map one object per row, must not be {@literal null}.
* @return the result {@link List}, containing mapped objects.
* @throws DataAccessException if there is any problem executing the query.
@@ -687,7 +687,7 @@ public interface AsyncCqlOperations {
* to the query, reading the {@link ResultSet} with a {@link AsyncResultSetExtractor}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param psb object that knows how to set values on the prepared statement. If this is {@literal null}, the CQL will
* be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to
* set fetch size and other performance options.
@@ -703,7 +703,7 @@ public interface AsyncCqlOperations {
* to the query, reading the {@link ResultSet} on a per-row basis with a {@link RowCallbackHandler}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param psb object that knows how to set values on the prepared statement. If this is {@literal null}, the CQL will
* be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to
* set fetch size and other performance options.
@@ -718,7 +718,7 @@ public interface AsyncCqlOperations {
* to the query, mapping each row to a Java object via a {@link RowMapper}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param psb object that knows how to set values on the prepared statement. If this is {@literal null}, the CQL will
* be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to
* set fetch size and other performance options.

View File

@@ -114,7 +114,7 @@ public class AsyncCqlTemplate extends CassandraAccessor implements AsyncCqlOpera
}
// -------------------------------------------------------------------------
// Methods dealing with a plain com.datastax.driver.core.Session
// Methods dealing with a plain com.datastax.oss.driver.api.core.CqlSession
// -------------------------------------------------------------------------
/*

View File

@@ -73,7 +73,7 @@ public class CachedPreparedStatementCreator implements PreparedStatementCreator
}
/* (non-Javadoc)
* @see org.springframework.data.cassandra.core.cql.PreparedStatementCreator#createPreparedStatement(com.datastax.driver.core.Session)
* @see org.springframework.data.cassandra.core.cql.PreparedStatementCreator#createPreparedStatement(com.datastax.oss.driver.api.core.CqlSession)
*/
@Override
public PreparedStatement createPreparedStatement(CqlSession session) throws DriverException {

View File

@@ -45,7 +45,7 @@ import com.datastax.oss.driver.api.core.retry.RetryPolicy;
* @author Mark Paluch
* @author John Blum
* @see org.springframework.beans.factory.InitializingBean
* @see com.datastax.driver.core.Session
* @see com.datastax.oss.driver.api.core.CqlSession
*/
public class CassandraAccessor implements InitializingBean {
@@ -210,7 +210,7 @@ public class CassandraAccessor implements InitializingBean {
* data access operations.
*
* @return the Cassandra {@link CqlSession} used by this template.
* @see com.datastax.driver.core.Session
* @see com.datastax.oss.driver.api.core.CqlSession
* @deprecated since 2.0. This class uses a {@link SessionFactory} to dispatch CQL calls amongst different
* {@link CqlSession}s during its lifecycle.
*/
@@ -227,7 +227,7 @@ public class CassandraAccessor implements InitializingBean {
*
* @param sessionFactory Cassandra {@link CqlSession} used by this template. Must not be{@literal null}.
* @since 2.0
* @see com.datastax.driver.core.Session
* @see com.datastax.oss.driver.api.core.CqlSession
*/
public void setSessionFactory(SessionFactory sessionFactory) {

View File

@@ -45,9 +45,9 @@ public interface CqlOperations {
/**
* Execute a CQL data access operation, implemented as callback action working on a
* {@link com.datastax.driver.core.Session}. This allows for implementing arbitrary data access operations, within
* Spring's managed CQL environment: that is, converting CQL {@link com.datastax.oss.driver.api.core.DriverException}s
* into Spring's {@link DataAccessException} hierarchy.
* {@link com.datastax.oss.driver.api.core.CqlSession}. This allows for implementing arbitrary data access operations,
* within Spring's managed CQL environment: that is, converting CQL
* {@link com.datastax.oss.driver.api.core.DriverException}s into Spring's {@link DataAccessException} hierarchy.
* <p>
* The callback action can return a result object, for example a domain object or a collection of domain objects.
*
@@ -683,7 +683,7 @@ public interface CqlOperations {
* The callback action can return a result object, for example a domain object or a collection of domain objects.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param action callback object that specifies the action, must not be {@literal null}.
* @return a result object returned by the action, or {@literal null}.
* @throws DataAccessException if there is any problem executing the query.
@@ -696,7 +696,7 @@ public interface CqlOperations {
* Query using a prepared statement, reading the {@link ResultSet} with a {@link ResultSetExtractor}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param resultSetExtractor object that will extract results, must not be {@literal null}.
* @return an arbitrary result object, as returned by the {@link ResultSetExtractor}
* @throws DataAccessException if there is any problem executing the query.
@@ -710,7 +710,7 @@ public interface CqlOperations {
* {@link RowCallbackHandler}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param rowCallbackHandler object that will extract results, one row at a time, must not be {@literal null}.
* @throws DataAccessException if there is any problem executing the query.
*/
@@ -721,7 +721,7 @@ public interface CqlOperations {
* Query using a prepared statement, mapping each row to a Java object via a {@link RowMapper}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param rowMapper object that will map one object per row, must not be {@literal null}.
* @return the result {@link List}, containing mapped objects.
* @throws DataAccessException if there is any problem executing the query.
@@ -734,7 +734,7 @@ public interface CqlOperations {
* to the query, reading the {@link ResultSet} with a {@link ResultSetExtractor}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param psb object that knows how to set values on the prepared statement. If this is {@literal null}, the CQL will
* be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to
* set fetch size and other performance options.
@@ -751,7 +751,7 @@ public interface CqlOperations {
* to the query, reading the {@link ResultSet} on a per-row basis with a {@link RowCallbackHandler}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param psb object that knows how to set values on the prepared statement. If this is {@literal null}, the CQL will
* be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to
* set fetch size and other performance options.
@@ -766,7 +766,7 @@ public interface CqlOperations {
* to the query, mapping each row to a Java object via a {@link RowMapper}.
*
* @param preparedStatementCreator object that can create a {@link PreparedStatement} given a
* {@link com.datastax.driver.core.Session}, must not be {@literal null}.
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param psb object that knows how to set values on the prepared statement. If this is {@literal null}, the CQL will
* be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to
* set fetch size and other performance options.

View File

@@ -464,8 +464,8 @@ public interface ReactiveCqlOperations {
* Query using a prepared statement and a {@link PreparedStatementBinder} implementation that knows how to bind values
* to the query, reading the {@link ReactiveResultSet} with a {@link ResultSetExtractor}.
*
* @param psc object that can create a {@link PreparedStatement} given a {@link com.datastax.driver.core.Session},
* must not be {@literal null}.
* @param psc object that can create a {@link PreparedStatement} given a
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param psb object that knows how to set values on the prepared statement. If this is {@literal null}, the CQL will
* be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to
* set fetch size and other performance options.
@@ -519,8 +519,8 @@ public interface ReactiveCqlOperations {
* Query using a prepared statement and a {@link PreparedStatementBinder} implementation that knows how to bind values
* to the query, mapping each row to a Java object via a {@link RowMapper}.
*
* @param psc object that can create a {@link PreparedStatement} given a {@link com.datastax.driver.core.Session},
* must not be {@literal null}.
* @param psc object that can create a {@link PreparedStatement} given a
* {@link com.datastax.oss.driver.api.core.CqlSession}, must not be {@literal null}.
* @param psb object that knows how to set values on the prepared statement. If this is {@literal null}, the CQL will
* be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to
* set fetch size and other performance options.

View File

@@ -56,7 +56,7 @@ public class SimplePreparedStatementCreator implements PreparedStatementCreator,
}
/* (non-Javadoc)
* @see org.springframework.data.cassandra.core.cql.PreparedStatementCreator#createPreparedStatement(com.datastax.driver.core.Session)
* @see org.springframework.data.cassandra.core.cql.PreparedStatementCreator#createPreparedStatement(com.datastax.oss.driver.api.core.CqlSession)
*/
@Override
public PreparedStatement createPreparedStatement(CqlSession session) throws DriverException {

View File

@@ -1,5 +1,5 @@
/**
* Provides utility classes for simple {@link com.datastax.driver.core.Session} access and various session
* Provides utility classes for simple {@link com.datastax.oss.driver.api.core.CqlSession} access and various session
* implementations.
*/
@NonNullApi

View File

@@ -118,7 +118,7 @@ public class CachedPreparedStatementCreator implements PreparedStatementCreator
}
/* (non-Javadoc)
* @see org.springframework.data.cassandra.core.cql.PreparedStatementCreator#createPreparedStatement(com.datastax.driver.core.Session)
* @see org.springframework.data.cassandra.core.cql.PreparedStatementCreator#createPreparedStatement(com.datastax.oss.driver.api.core.CqlSession)
*/
@Override
public PreparedStatement createPreparedStatement(CqlSession session) throws DriverException {

View File

@@ -208,7 +208,7 @@ public class Query implements Filter {
CassandraPageRequest.validatePageable(pageable);
ByteBuffer pagingState = this.pagingState.orElse(null);
ByteBuffer pagingState = getPagingState().orElse(null);
if (pageable instanceof CassandraPageRequest) {
pagingState = ((CassandraPageRequest) pageable).getPagingState();
@@ -236,10 +236,10 @@ public class Query implements Filter {
}
/**
* @return the optional {@link PagingState}.
* @return the optional {@link ByteBuffer paging state}.
*/
public Optional<ByteBuffer> getPagingState() {
return this.pagingState;
return this.pagingState.map(ByteBuffer::asReadOnlyBuffer);
}
/**

View File

@@ -22,7 +22,6 @@ import java.util.Collections;
import org.junit.Test;
import com.datastax.oss.driver.api.core.CqlIdentifier;
import com.datastax.oss.driver.api.core.DefaultConsistencyLevel;
import com.datastax.oss.driver.api.core.cql.SimpleStatement;
import com.datastax.oss.driver.api.core.metadata.schema.ClusteringOrder;
import com.datastax.oss.driver.api.querybuilder.QueryBuilder;
@@ -133,7 +132,7 @@ public class StatementBuilderUnitTests {
public void shouldNotifyOnBuild() {
SimpleStatement statement = StatementBuilder.of(QueryBuilder.selectFrom("person").all())
.onBuild(statementBuilder -> statementBuilder.setConsistencyLevel(DefaultConsistencyLevel.LOCAL_ONE))
.onBuild(statementBuilder -> statementBuilder.addPositionalValue("foo"))
.build(StatementBuilder.ParameterHandling.BY_NAME);
assertThat(statement.getQuery()).isEqualTo("SELECT * FROM person");

View File

@@ -30,7 +30,8 @@
<cassandra:converter/>
<cassandra:cql-template id="foo-template"/>
<cassandra:cql-template id="foo-template"
session-factory-ref="cassandraSessionFactory"/>
<cassandra:template cql-template-ref="foo-template"/>
</beans>

View File

@@ -5,12 +5,12 @@ Spring Data for Apache Cassandra 3.0 introduces a set of breaking changes when u
== Review dependencies
Upgrading to Spring Data Cassandra requires an upgrade to the DataStax Driver version 4. Upgrading to the new driver comes with transitive dependency changes, most notably Google Guava is bundled and shaded by the driver.
Upgrading to Spring Data Cassandra requires an upgrade to the DataStax Driver version 4. Upgrading to the new driver comes with transitive dependency changes, most notably, Google Guava is bundled and shaded by the driver.
== Adapt Configuration
DataStax Java Driver 4 merges `Cluster` and `Session` objects into a single `CqlSession` object, therefore all `Cluster`-related API was removed.
The Configuration was revised in large parts by removing most configuration items that were moved into `DriverConfigLoader` that is mostly file-based.
DataStax Java Driver 4 merges `Cluster` and `Session` objects into a single `CqlSession` object, therefore, all `Cluster`-related API was removed.
The configuration was revised in large parts by removing most configuration items that were moved into `DriverConfigLoader` that is mostly file-based.
This means that `SocketOptions`, `AddressTranslator` and many more options are configured now through other means.
If you're using XML-based configuration, make sure to migrate all configuration files from the `cql` namespace (`http://www.springframework.org/schema/cql https://www.springframework.org/schema/cql/spring-cql.xsd`) to the `cassandra` namespace (`http://www.springframework.org/schema/data/cassandra https://www.springframework.org/schema/data/cassandra/spring-cassandra.xsd`).
@@ -109,16 +109,20 @@ Your data model may require updates if you use the following features:
=== `@CassandraType`
DataStax driver 4 no longer ships with a `Name` enumeration to describe the Cassandra type. We decided to re-introduce the enumeration with `CassandraType.Name`. Make sure to update your imports to use the newly introduced replacement type.
DataStax driver 4 no longer ships with a `Name` enumeration to describe the Cassandra type.
We decided to re-introduce the enumeration with `CassandraType.Name`.
Make sure to update your imports to use the newly introduced replacement type.
=== Force Quote
This flag is now deprecated and we recommend to not use it any longer.
Spring Data for Apache Cassandra uses internally the driver's `CqlIdentifier` that ensures quoting where it's required.
This flag is now deprecated, and we recommend not to use it any longer.
Spring Data for Apache Cassandra internally uses the driver's `CqlIdentifier` that ensures quoting where it's required.
=== Property Types
DataStax driver 4 no longer uses `java.lang.Date`. Please upgrade your data model to use `java.time.LocalDateTime`. Please also migrate raw UDT and tuple types to the new driver types `UdtValue` respective `TupleValue`.
DataStax driver 4 no longer uses `java.lang.Date`.
Please upgrade your data model to use `java.time.LocalDateTime`.
Please also migrate raw UDT and tuple types to the new driver types `UdtValue` respective `TupleValue`.
== Other changes
@@ -181,8 +185,3 @@ Keyspace creation via `CqlSessionFactoryBean` (`cassandra:session`) is not affec
* `cassandra:cluster` (endpoint properties merged to `cassandra:session`)
* `cassandra:initialize-keyspace` namespace support
* `cassandra:session-factory` with `cassandra:script` support