You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a Cassandra database that uses mixed case table names. E.g. User, Partner. When queries are created from the spring application, the table names are lowercased (user, partner). Cassandra complains that the tables do not exist.
In the Table annotation there is a deprecated property forceQuote. When I set this property as true, the table names are used as they are and surrounded by the quotes. Everything works fine. As I understand the forceQuote was used to double quote reserved names. I am not using reserved names. Why are they lowercased?
I believe this is done in the org.springframework.data.cassandra.core.mapping.IdentifierFactory.
The text was updated successfully, but these errors were encountered:
This is indeed unfortunate, especially there's no mechanism to preserve letter casing except for setting table/column names yourself through CassandraPersistentEntity.setTableName(…)/CassandraPersistentProperty.setColumnName(…). We need to revisit the name derivation to actually preserve letter casing when providing a name and not break existing applications when they use name derivation.
mp911de
changed the title
Mixed case table names are not supported without using deprecated annotation property.
Mixed case table names are not supported without using deprecated annotation property
Jul 5, 2022
We revised the table and column name generation by unifying the generation code into CqlIdentifierGenerator. We also properly distinguish between generated names that are generated and those provided by the application (i.e. through annotations).
Closes#1263
We revised the table and column name generation by unifying the generation code into CqlIdentifierGenerator. We also properly distinguish between generated names that are generated and those provided by the application (i.e. through annotations).
Closes#1263
I have a Cassandra database that uses mixed case table names. E.g. User, Partner. When queries are created from the spring application, the table names are lowercased (user, partner). Cassandra complains that the tables do not exist.
In the Table annotation there is a deprecated property forceQuote. When I set this property as true, the table names are used as they are and surrounded by the quotes. Everything works fine. As I understand the forceQuote was used to double quote reserved names. I am not using reserved names. Why are they lowercased?
I believe this is done in the
org.springframework.data.cassandra.core.mapping.IdentifierFactory
.The text was updated successfully, but these errors were encountered: