我想使用 spring boot java 在 couchbase 中保存一个员工对象。我正在使用响应式(Reactive) couchbase 驱动程序。我的要求是保存 employeeId 后缀为硬编码字符串“-EMPLOYEETYPE”的员工对象。
例子: 从 Java 应用程序到 couchbase 的对象:
{ "employeeId" : "12345", "lname" :"ltest", "fname" : "ftest"}
保存到沙发底座时, key 应该像
"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";
}
关于java - Couchbase - 自动生成带有用户定义后缀的 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54684482/