java - spring data couchbase保存实体不返回id

标签 java spring couchbase

我正在使用 couchbase 开发 spring webflux 项目。 问题是当我想保存一个实体时,返回的实体不包含自动生成的 ID。 我需要它的 ID,以便在需要时更新它,或者删除它。

所以我想知道是否有办法获取自动生成的ID?

这是我的实体类:

@Data
@Document
@NoArgsConstructor
@AllArgsConstructor
public class Person {

   @Id
   @GeneratedValue(strategy = UNIQUE)
   private String id;
   @Field
   private String name;
   @NonNull
   @Field
   private String firstname;

}

我还使用 ReactiveCouchbaseRepository。

这是我的存储库:

@Repository
@N1qlPrimaryIndexed
@ViewIndexed(designDoc = "person")
public interface PersonRepository extends 
ReactiveCouchbaseRepository<Person, String> {
    Flux<Person> findAll();
}

最佳答案

尝试重现您的错误时,我发现使用 ReactiveCouchbaseRepository 实体 ID 未按应有的方式设置。

对于 CouchbaseRepository 情况并非如此,实体是用生成的 id 填充的。

有一个公开的错误描述了此问题:https://jira.spring.io/browse/DATACOUCH-383

关于java - spring data couchbase保存实体不返回id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52843494/

相关文章:

java - 如何加快 Java Web 应用程序的编译速度?

java - 从名称解析字符串

java - 一个leetcode程序,不懂statement

spring - 他们是使用 spring mvc 生成站点地图和机器人 txt 的现有工具吗

java - Jboss RestEasy应用程序中的@Autowired空指针异常

elasticsearch - 在Elasticsearch中计算相关性评分与Couchbase有何不同?

javascript - Couchbase View 自定义减少

java - 限制 iOS 和 Android 的入站流量

spring - 如何使用spring来解决手动创建的对象的依赖关系?

database - CouchBase 最大数据库容量