Couchbase - 自动生成带有用户定义后缀的密钥
Couchbase - Auto generate key with user defined suffix
我想使用 spring boot java 在 couchbase 中保存一个员工对象。我正在使用反应式 couchbase 驱动程序。我的要求是保存 employeeId 后缀为硬编码字符串“-EMPLOYEETYPE”的员工对象。
示例:
对象来自 Java 应用程序:
{ "employeeId" : "12345", "lname" :"ltest", "fname" : "ftest"}
保存到沙发底座时,密钥应该像
一样生成
"12345-EMPLOYEETYPE"
以下代码无效,请指导我如何实现它。
注意:我使用的是 lombok,所以没有 getter 和 setter。
@Document
public final class Employee {
@Id @GeneratedValue(strategy = GenerationStrategy.USE_ATTRIBUTES,delimiter="-EMPLOYEETYPE")
private String id;
@IdAttribute
private String employeeId;
}
找到解决办法。我们需要创建一个实例变量,并为其分配后缀字符串文字,并使用@IdSuffix 进行注释。 (对于前缀,@IdPrefix)。此字段不会持久化到 couchbase 中,仅用于生成文档的 id。
@Document
public final class Employee {
@Id @GeneratedValue(strategy = GenerationStrategy.USE_ATTRIBUTES,delimiter="-")
private String id;
@IdAttribute
private String employeeId;
@IdSuffix
private String suffix = "EMPLOYEETYPE";
}
我想使用 spring boot java 在 couchbase 中保存一个员工对象。我正在使用反应式 couchbase 驱动程序。我的要求是保存 employeeId 后缀为硬编码字符串“-EMPLOYEETYPE”的员工对象。
示例: 对象来自 Java 应用程序:
{ "employeeId" : "12345", "lname" :"ltest", "fname" : "ftest"}
保存到沙发底座时,密钥应该像
一样生成"12345-EMPLOYEETYPE"
以下代码无效,请指导我如何实现它。 注意:我使用的是 lombok,所以没有 getter 和 setter。
@Document
public final class Employee {
@Id @GeneratedValue(strategy = GenerationStrategy.USE_ATTRIBUTES,delimiter="-EMPLOYEETYPE")
private String id;
@IdAttribute
private String employeeId;
}
找到解决办法。我们需要创建一个实例变量,并为其分配后缀字符串文字,并使用@IdSuffix 进行注释。 (对于前缀,@IdPrefix)。此字段不会持久化到 couchbase 中,仅用于生成文档的 id。
@Document
public final class Employee {
@Id @GeneratedValue(strategy = GenerationStrategy.USE_ATTRIBUTES,delimiter="-")
private String id;
@IdAttribute
private String employeeId;
@IdSuffix
private String suffix = "EMPLOYEETYPE";
}