red*_*ulf 8 java cassandra datastax-java-driver datastax
我有一个带有相关物化视图的cassandra表.
主键是uuid类型的单个id,我没有排序键.我们称之为my_table_id.此表包含related_id我要用于搜索的内容.
然后我有一个定义为该表的物化视图
PRIMARY KEY (related_id, my_table_id) WITH CLUSTERING ORDER BY (my_table_id ASC)
Run Code Online (Sandbox Code Playgroud)
PS:我意识到这是在Cassandra中分区数据的错误方法,但不幸的是,这段代码是继承的.
我在我的java代码中定义了我的表:
@Table(table = "my_table")
public class MyTableType {
@PartitionKey
@Column("my_table_id")
@Codec(MyIdCassandraConverter.class)
CustomUUIDType myTableId;
@Column("related_id")
@Codec(MyRelatedIdCassandraConverter.class)
MyRelatedId relatedId;
(...)
}
Run Code Online (Sandbox Code Playgroud)
这两个自定义类型只是UUID周围的包装器.再次,继承.
我的物化视图定义为:
@MaterializedView(baseEntity = MyTableType.class, view = "my_table_by_related_id")
public class MyTableTypeByRelatedId {
@PartitionKey
@Column("related_id")
@Codec(MyRelatedIdCassandraConverter.class)
MyRelatedId relatedId;
@ClusteringColumn
@Column("my_table_id")
@Codec(MyIdCassandraConverter.class)
CustomUUIDType myTableId;
}
Run Code Online (Sandbox Code Playgroud)
代码似乎生成正确,但是当我启动Spring Boot应用程序时,我得到:
错误:java:找不到视图类'mypackage.MyTableTypeByRelatedId'的基本实体类'mypackage.MyTableType'错误:java:解析时出错:找不到视图类'mypackage.MyTableTypeByRelatedId'的基本实体类'mypackage.MyTableType'
有一些代码生成正在进行,所以它似乎没有正确生成,但我无法弄清楚是什么.
我找到的唯一有用的文档就是这里和这里,但似乎都没有提供帮助.
我究竟做错了什么?
好吧,这不是一个太多的答案,因为这不是一个太大的问题,但是遇到类似问题的人可能会发现它很有用。
这个特定问题是因为我查看了错误的数据库而引起的,该数据库当然没有我创建的表和视图。我有一个属性覆盖文件,我认为设置正确,但这是我的错误。