当前位置: 首页 > 知识库问答 >
问题:

Spring data Cassandra将键空间名称和表名称转换为小写

吴英武
2023-03-14

我试图使用spring data Cassandra将现有的Cassandra表映射到java类中。表名有大写字母,例如“mytable”。但是,当我使用@table(“mytable”)时,spring data cassandra无法识别表,因为它将名称视为小写。

有什么方法告诉spring data cassandra不要将名称转换为小写吗?

示例代码:

import org.springframework.data.cassandra.core.mapping.Table;

@Table("MyTable")
public class MyTable {

}

共有1个答案

督俊雅
2023-03-14

在Cassandra的CQL中,像keyspace、table和列名这样的标识符是不区分大小写的。如果您想使用混合大小写,您必须引用您的姓名,即:

import org.springframework.data.cassandra.core.mapping.Table;

@Table("\"MyTable\"")
public class MyTable {

}

也就是说,我强烈建议不要使用混合大小写标识符。虽然它工作,但它创造了很多复杂性,不得不担心引用一切。我在Cassandra中看到的最多的约定是使用所有小写use_作为单词的分隔符,即my_table。您仍然可以使用MyTable作为类名来满足java约定。

 类似资料:
  • 在OpenFOAM中,存在一个函数,其名称为exp,表示数学中的幂操作。同时,C++本身也可以进行这个计算,并且函数名称也为exp。这会导致调用的时候,编译器并不知道应该调用OpenFOAM的exp还是C++本身的exp。一种方法是将其中一个exp函数进行改名,比如将OpenFOAM中的exp改成expFoam。但还有更简单的方式。 名称空间专门用于解决上面的问题,它可作为附加信息来区分不同库中相

  • 我正在尝试将一个基于PHP的API从共享主机移植到Google应用程序引擎。我下载了PHPSDK,在启动器中创建了一个新的应用程序,在PHP中启用了cURL。ini(使用),现在我得到这个错误: 如果我向curl_init()添加反斜杠(告诉它不要使用MyNamespace),我会得到这个: 除了启用cURL_lite()(稍后我可能会解决这个问题,因为它不支持我需要的cURL选项),我如何解决这

  • 目前,我们有一个使用代码欺骗2.0.16构建的大型接受套件。我们想升级到代码欺骗2.2.5。然而,在安装了Codec0019 2.2.5(via phar)之后,我们根本无法运行我们的测试套件。 我们收到的错误是(底部的其他详细信息): 无法找到并加载[Codeception\Exception\ConfigurationException]模块WebHelper 显然,新版本的加载更改会影响我们

  • 我对C++不是很熟悉,这是我第一次使用的不仅仅是名称空间std。下面的有什么区别? VS 在这两个之后,我现在似乎可以创建一个MyClass对象了。一种方式比另一种好吗?另外,如果我都不这样做,我还可以通过每次需要时在MyNamespace::MyClass之前附加MyClass来引用MyClass吗? 接下来,如果我使用第二个选项转发declare,我还需要吗?在我(不是很好)的理解中,在C++

  • 我只是用MVVM轻型工具包编写一些培训窗口项目。当MVVM Light引用添加到项目中时,下面的资源被自动添加到app.xml中 不幸的是,它不起作用,即由于以下错误,无法构建/编译项目: 我找到了几种针对此问题的常见解决方案(例如:更改解决方案平台、清理、重建、重新启动Visual Studio等),但它们并没有改变什么。创建一个新项目也没有帮助。 有没有其他办法让它起作用?我使用Visual

  • 问题内容: 考虑以下jfiddle http://jsfiddle.net/bchapman26/9uUBU/29/ 我有2个模块(module1和module2)。module1和module2都定义了一个名为myService的服务。当两个模块都导入myApp时,这似乎在Angular中的myService上创建了名称冲突。看来AngularJs仅使用第二个服务定义,而没有警告您可能的问题。