Spring Cloud Cloud Spanner 主键
2024-01-10 16:00 更新
对于一个简单的表,您可能只有一个由单列组成的主键。即使在这种情况下,也需要@PrimaryKey
批注。@PrimaryKey
标识与主键相对应的一个或多个ID属性。
Spanner对多列复合主键具有一流的支持。您必须使用@PrimaryKey
注释主键所包含的所有POJO字段,如下所示:
@Table(name = "trades") public class Trade { @PrimaryKey(keyOrder = 2) @Column(name = "trade_id") private String tradeId; @PrimaryKey(keyOrder = 1) @Column(name = "trader_id") private String traderId; private String action; private Double price; private Double shares; private String symbol; }
@PrimaryKey
的keyOrder
参数按顺序标识与主键列相对应的属性,从1开始并连续增加。顺序很重要,必须反映出Cloud Spanner模式中定义的顺序。在我们的示例中,用于创建表的DDL及其主键如下:
CREATE TABLE trades ( trader_id STRING(MAX), trade_id STRING(MAX), action STRING(15), symbol STRING(10), price FLOAT64, shares FLOAT64 ) PRIMARY KEY (trader_id, trade_id)
Spanner没有自动生成ID。对于大多数用例,应谨慎使用顺序ID,以避免在系统中创建数据热点。阅读Spanner主键文档 ,以更好地了解主键和推荐的做法。
以上内容是否对您有帮助:
更多建议: