自从我们升级到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,则该方法适用于查询,但是结果集的值无法解析为日期
我错过了什么?
1条答案
按热度按时间ruoxqz4g1#
过了一会儿,一位同事想出了一个解决方案:如果将列定义为com.datastax.driver.core.localdate,它就可以工作了