java - 嵌套引用对象持续为 null

标签 java spring-data couchbase spring-data-couchbase

我正在尝试使用 spring-data 在 couchbase 中的 pojo 下存储,但坚持 json 将“用户类型的用户字段”存储为 null。

@JsonInclude(value = Include.NON_EMPTY)
@Document
public class ProjectXYZ {

    @Id
    @GeneratedValue(strategy = GenerationStrategy.UNIQUE)
    private String id;

    @Field
    private String prjname;

    @Field
    private User user;

    //setter and getter

}

更新: 用户 Pojo

@JsonInclude(value = Include.NON_EMPTY)
@Document
public class User {

    @Id
    @Field
    private String id;

    @Field
    private String email;

    @Field
    private String firstName;

    @Field
    private String lastName;

    //setter and getter
}

如下所示,我正在保存它,一切正常并且符合预期,但用户对象存储为空。

    ProjectXYZ project = new ProjectXYZ();
    project.setUser(getUser(request));
    project = projectXYZService.createProject(project);

最佳答案

Spring data couchbase 不直接支持引用,因为它需要存储有关引用文档 ID 的元信息。

但是,当前 Lovelace (3.1.x) 版本支持通过 N1QL ANSI 连接获取关联实体。这是 documentation

关于java - 嵌套引用对象持续为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54767599/

相关文章:

node.js - 更改CouchBase服务器的IP后如何恢复数据库

java - 如何清空 JTable?

java - 使用 Regex 在 JTextPane 中突出显示数字

java - 我们可以使用反射调用抽象类的私有(private)方法吗?

spring - 无法解析未找到 WebApplicationContext : no ContextLoaderListener registered

java - Spring Boot + QueryDSL : com. mysema.query 包类缺失

Spring 数据存储库无需注释即可工作

node.js - 包裹沙发底座访问功能

java - 执行 findAll() 时 Spring boot 和 couchbase 中出现 InvalidDataAccessResourceUsageException

java - Spring Boot Micrometer Metric system_load_average_1m 说明