私は、関連するマテリアライズド・ビューのカサンドラのテーブルを持っています。
主キーはタイプのUUIDの単一のIDである、と私はソート・キーを持っていません。のは、それを呼ぶことにしましょうmy_table_id
。このテーブルには含まれていrelated_id
私は検索に使用することを。
それから私は、として定義された表のマテリアライズド・ビューを持っています
PRIMARY KEY (related_id, my_table_id) WITH CLUSTERING ORDER BY (my_table_id ASC)
PS:私はそれがカサンドラ内のパーティションのデータへの間違った方法だ実現が、残念ながら、このコードは継承されました。
私は私の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;
(...)
}
これらの2つのカスタムタイプは、単にの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;
}
コードが正しく生成されているようだが、私は私の春のブートアプリケーションを起動したときに、私が取得します:
エラー:Javaの:解析するとしているときにエラー:javaのベースエンティティクラスビュークラスのmypackage.MyTableTypeByRelatedId 'エラーのための「mypackage.MyTableType」を見つけることができませんビュークラスの基本エンティティクラスのmypackage.MyTableType」を見つけることができません「mypackage.MyTableTypeByRelatedId」
そこが正しく生成されない何かのように思わせ起こっていくつかのコード生成は、ですが、私はかなり何を把握することはできません。
私は見つけるだけ穏やかに便利なドキュメントがあり、こことここでは、どれも提供のヘルプには思いません。
何が私が間違っているのでしょうか?
まあ、あまり答えの、これはあまり問題にはありませんでしたが、同様の問題を持つ誰かがそれが役に立つかもしれませんので。
私はもちろん、私が作成した表やビューを持っていなかった間違ったデータベース、見ていたので、この特定の問題が発生しました。私は私が正しく設定されていたと思ったプロパティのオーバーライドファイルを持っていた、それは私のミスでした。