此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Data Couchbase 5.5.2spring-doc.cadn.net.cn

自动生成密钥

本章介绍如何使用内置机制自动生成 couchbase 文档键。 支持两种类型的自动生成策略。spring-doc.cadn.net.cn

couchbase 支持的最大密钥长度为 250 字节。

配置

要自动生成的键应使用@GeneratedValue. 默认策略是USE_ATTRIBUTES. 键的前缀和后缀可以作为实体本身的一部分提供,这些值不会持久化,它们仅用于键生成。 前缀和后缀使用order价值。 默认顺序为0,多个没有顺序的前缀将覆盖前一个。 如果 id 的值已经可用,则将跳过自动生成。 串联的分隔符可以使用delimiter,则默认分隔符为..spring-doc.cadn.net.cn

示例 1.GeneratedValue 的注释
@Document
public class User {
     @Id @GeneratedValue(strategy = USE_ATTRIBUTES, delimiter = ".")
     private String id;
     @IdPrefix(order=0)
     private String userPrefix;
     @IdSuffix(order=0)
     private String userSuffix;
     ...
}

使用属性生成密钥

使用文档属性的组合生成键是一种常见的做法。 使用属性生成密钥将所有带有注释的属性值连接起来IdAttribute,基于提供的顺序,类似于前缀和后缀。spring-doc.cadn.net.cn

示例 2.IdAttribute 的注释
@Document
public class User {
     @Id @GeneratedValue(strategy = USE_ATTRIBUTES)
     private String id;
     @IdAttribute
     private String userid;
     ...
}

使用 uuid 生成密钥

此自动生成使用 UUID 随机生成器生成占用 16 字节键空间的文档键。 此机制仅推荐用于测试脚手架。spring-doc.cadn.net.cn

示例 3.唯一密钥生成的注释
@Document
public class User {
     @Id @GeneratedValue(strategy = UNIQUE)
     private String id;
     ...
}