我尝试使用spring数据cassandra将现有的cassandra表Map到java类中。表名使用大写字母,例如“mytable”。然而,当我使用@table(“mytable”)时,spring数据cassandra无法识别该表,因为它将名称视为小写。
有没有办法告诉SpringDataCassandra不要将名称转换成小写?
示例代码:
import org.springframework.data.cassandra.core.mapping.Table;
@Table("MyTable")
public class MyTable {
}
2条答案
按热度按时间d8tt03nd1#
我可以通过在@table注解中添加(forcequote=true)来解决这个问题。
3okqufwl2#
在cassandra的cql中,键空间、表和列名等标识符不区分大小写。如果您希望使用混合大小写,您必须引用您的姓名,即:
也就是说,我强烈建议不要使用混合大小写标识符。虽然它是有效的,但它造成了很多复杂性,让人不得不担心引用所有内容。我在cassandra中看到最多的惯例是使用所有小写字母
_
作为单词的分隔符,即。my_table
. 你还可以用MyTable
作为类名来满足java约定。