Spring cassandra的嵌套对象数据建模
我使用的是Spring cassandra的嵌套对象数据建模,spring,cassandra,spring-data-cassandra,Spring,Cassandra,Spring Data Cassandra,我使用的是spring数据cassandra,在理解数据模型应该是什么样子时遇到了困难。我知道cassandra表通常是非规范化的,这意味着如果我有一个类似这样的customer对象 { name: "Test Customer", address: { city: "New york", state: "NY" } } 相应的POJO希望 @Table public class Customer { @PrimaryKey //just using this
spring数据cassandra
,在理解数据模型应该是什么样子时遇到了困难。我知道cassandra表通常是非规范化的,这意味着如果我有一个类似这样的customer对象
{
name: "Test Customer",
address: {
city: "New york",
state: "NY"
}
}
相应的POJO希望
@Table
public class Customer {
@PrimaryKey //just using this as key for this example
private String name;
private Address address;
}
public class Address {
private String city;
private String state;
}
因此,我只想存储customer对象,但有一些方法可以检索与customer对象关联的address对象。处理这一问题的一些常见策略是什么
我应该以某种方式使用composite/composite键,还是创建一个单独的POJO,在那里我可以以非规范化的形式或其他方式存储来自这两个对象的属性。任何提示都将不胜感激。在Cassandra中,表是在您想要执行的查询(查询驱动模型)上创建的。
因此,请共享您要对表执行的查询或查询集。该查询将按名称检索客户。例如
select*from customers,其中name='Customer name'
但是返回的数据应该包括关于客户的信息以及地址信息,这样就可以在Customer java objectcreate表Customer(Customer\u id uuid,name text,address map primary key((name),Customer\u id)中填充它 ); 可以使用上表