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

CodeNotFoundException:未找到请求操作的编解码器:[datejava.util.date]

南宫俊逸
2023-03-14

我正在使用以下带有java8的datastax版本

<dependency>
      <groupId>com.datastax.cassandra</groupId>
      <artifactId>cassandra-driver-core</artifactId>
      <version>3.7.2</version>
    </dependency>

    <dependency>
      <groupId>com.datastax.cassandra</groupId>
      <artifactId>cassandra-driver-mapping</artifactId>
      <version>3.7.2</version> 
    </dependency>

我的表有一个日期列,如下所示

cass_table (                                                    
    data_source_id int,                                                                                                                                                                   
    company_id text,                                                              
    create_date date)  

当我试图将数据保存到C*表中时,如下所示

final IndustryCompany four = new IndustryCompany(1,1236, ProdUtils.today());
 industryCompanyRepository.save(one);


public static Date today() {
        return java.sql.Date.valueOf(new SimpleDateFormat(ProducerConstants.DATABASE_DATE_FORMAT).format(Calendar.getInstance().getTime()));
    }

获取错误:

Caused by: com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [date <-> java.sql.Date]
    at com.datastax.driver.core.exceptions.CodecNotFoundException.copy(CodecNotFoundException.java:57) ~[cassandra-driver-core-3.7.2.jar:na]

我在做什么?怎么解决这个?有什么需要帮忙的吗...

共有1个答案

梁丘霖
2023-03-14

您需要使用com.datastax.driver.core.localdate类型传递变量。有关Java类型和CQL类型之间的映射,请参阅文档。您可以从JDK8中使用localdate,如果您要使用所谓的可选编解码器,则可以从Joda time包中使用localdate

另一种可能是编写date<->java.sql.date并将其注册以便直接映射。

 类似资料:
  • 我正在使用Cassandra-Driver-Core-3.0.0-1。

  • 我的实体有一个字段 当我通过Spring Data repository查询该对象时,我得到了一个异常 CodeNotFoundException:未找到请求操作的编解码器:[set<->java.util.set] 可能是带有删除类型的东西。如何以最小的努力来解决这个问题?

  • 我使用火花结构流从Kafka消费,并使用Foreach插入Datastax Cassandra。当我插入BigInt和String时,它会插入,但当我插入Double值时,它会抛出“未找到请求操作的编解码器:[varchar Spark(PrintSchema)a-String b-Bigint C-Double的示例数据帧 示例Cassandra表;-创建表a(a字符串,b bigint,c双精

  • 我有一个简单的类叫做Signal。课程内容如下: 我试图在MongoDB(v3.4)插入信号。我使用以下方法插入: 我得到了以下例外: org.bson.codecs.configuration.代码配置异常:找不到in.co.mysite.webapi.models.Signal类的编解码器。 我在这里检查了一个类似的问题,但是插入代码不同。我从回答中得到提示,修改了我的方法,但看起来不干净。修

  • 问题内容: 我正在使用Python请求。一切正常,但今天我收到了这个奇怪的错误: 任何想法可能有什么问题吗?我正在使用来自brew的Python 2.7.2。 问题答案: 尝试添加: 在各个地方筛选出其他错误。我在将Python连接到新平台上时遇到了同样的问题。我们只有部分库支持,并且缺少它,导致idna模块的导入失败。移植后,此错误就消失了。

  • 我有一个Ubuntu 14.04内核。我正在这个服务器上安装我的Laravel应用程序。安装之后,我尝试将根目录设置为public。 我在文件中只有这些选项 我已将文档根目录更改为 现在,当我试图通过它显示主页,运行良好。它还获取所有GET变量。例: 但是当我转到其他链接时,例如它给了我一个错误 我有路线。php在本地主机上运行良好。但不在此服务器上。请帮帮我。