Couchbase-自动生成带有用户定义后缀的密钥

时间:2019-02-14 06:36:48

标签: java spring-boot couchbase spring-webflux

我想使用spring boot java将一个employee对象保存在沙发上。我正在使用反应式沙发床驱动程序。我的要求是保存带有employeeId的后缀为硬编码字符串“ -EMPLOYEETYPE”的employee对象。

示例: 从Java应用程序对象到Couchbase:

{ "employeeId" : "12345", "lname" :"ltest", "fname" : "ftest"}

保存到沙发底座时,应该像

那样生成密钥
"12345-EMPLOYEETYPE"

下面的代码不起作用,请指导我如何实现它。 注意:我使用的是龙目岛,所以没有吸气剂和吸气剂。

@Document
public final class Employee {

        @Id @GeneratedValue(strategy = GenerationStrategy.USE_ATTRIBUTES,delimiter="-EMPLOYEETYPE")
        private String id;

        @IdAttribute
        private String employeeId;
}

1 个答案:

答案 0 :(得分:2)

找到了解决方案。我们需要创建一个分配了后缀字符串文字的实例变量,并使用@IdSuffix进行注释。 (对于前缀,@ IdPrefix)。该字段将不会保留在沙发上,只会用于生成文档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";
}

参考文档:https://docs.spring.io/spring-data/couchbase/docs/current/reference/html/#couchbase.autokeygeneration.configuration