invalidqueryexception for query on date列:无法将unsigned int(for date)设置为from:'1601856000000'

r7knjye2  于 2021-06-09  发布在  Cassandra
关注(0)|答案(1)|浏览(283)

自从我们升级到scala 2.13之后,访问cassandra中日期列的查询就失败了,出现了一个异常:无法将unsigned int(for date)设置为from:'1601856000000'
这个值显然太大了,无法放入无符号整数中。根据cassandra文档,date存储为无符号整数,表示自epoch以来的天数
但是当我查看幻像dsl dateserializer代码时,我看到它故意从所有支持的日期类型中获取millissinceepoch值,这是异常中的值
列: object date extends DateColumn with ClusteringOrder with Descending 查询/方法:

select
      .where(_.userId eqs userId)
      .and(_.date gte startDate)
      .fetch()(implicitly, executionContext)

幻影dsl版本2.59.0
已经尝试使用localdate(同一问题)并将列表示为stringcolumn,如果我将日期格式化为yyyy-mm-dd,则该方法适用于查询,但是结果集的值无法解析为日期
我错过了什么?

ruoxqz4g

ruoxqz4g1#

过了一会儿,一位同事想出了一个解决方案:如果将列定义为com.datastax.driver.core.localdate,它就可以工作了

相关问题