couchbase 支持的最大密钥长度为 250 字节。 |
配置
要自动生成的键应使用 .
默认策略为 。
键的前缀和后缀可以作为实体本身的一部分提供,这些值不会持久化,它们仅用于键生成。
前缀和后缀使用值进行排序。
默认顺序为 ,没有顺序的多个前缀将覆盖前一个前缀。
如果 id 的值已可用,则将跳过自动生成。
可以使用 提供串联的分隔符,默认分隔符为 。@GeneratedValue
USE_ATTRIBUTES
order
0
delimiter
.
例 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
例 2.IdAttribute 的批注
@Document
public class User {
@Id @GeneratedValue(strategy = USE_ATTRIBUTES)
private String id;
@IdAttribute
private String userid;
...
}
使用 uuid 生成密钥
此自动生成使用 UUID 随机生成器生成占用 16 字节密钥空间的文档密钥。 此机制仅推荐用于测试脚手架。
例 3.唯一密钥生成的注释
@Document
public class User {
@Id @GeneratedValue(strategy = UNIQUE)
private String id;
...
}