我正在使用 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/