我有一个cassandra行
slug | logo | name | priority
------+------+------+----------
test | null | Test | null
我使用datastax java驱动程序查询此结果,然后将Row
映射到Scala案例类:
Brand(r.getString("slug"), r.getString("name"), Option( r.getInt("priority") ) ,Option( r.getString("logo")))
结果应该是:
Brand(test,Test,None,None)
但我明白了:
Brand(test,Test,Some(0),None)
插入时未设置priority
和logo
字段。如果我只是打印行,我会得到正确的结果:
[Row[test, NULL, Test, NULL]]
有什么想法吗?
答案 0 :(得分:0)
谢谢@Lukasz,我现在可以看到问题了。
由于我无法更改数据模型,因此我在映射时最终进行了isNull
检查。
Brand(r.getString("slug"), r.getString("name"),(if( r.isNull("priority") ) None else Some(r.getInt("priority")) ), Option( r.getString("logo")))