对于最新稳定版本,请使用 Spring Data Couchbase 6.0.4spring-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;
     ...
}