我在Cassandra有一张桌子和地图
我已将MyUDT定义为Scala中的案例类并尝试阅读它。当我将它保存到Cassandra时,它可以工作,但后来,我想用驱动程序阅读它,我有一些问题。
我正在尝试这样做:
val result = session.execute(s"select ls_my_udt from ks.myTable WHERE id = 0")
val queryConContrato = result.one().getMap[String, MyUDT]("ls_my_udt ", classOf[String], classOf[MyUDT])
当我执行此查询时,出现错误:
com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [frozen<ks.myudt> <-> com.MyUDT]
at com.datastax.driver.core.CodecRegistry.notFound(CodecRegistry.java:679)
我的TYPE是:
CREATE TYPE MyUDT (
id text,
field text
);
我的案例类是:
如果我不公布案例类
,这是错误java.lang.IllegalArgumentException: @UDT annotation was not found on class com.MyUDT
我的案例类
@UDT(keyspace="ks", name="myUDT")
case class ProductUDT(id: String,
field: String )