嵌套引用对象持久化为null

问题描述 投票:3回答:1

我试图用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
}

如下所示,我保存它,所有工作正常,并按预期,但User对象存储为null。

    ProjectXYZ project = new ProjectXYZ();
    project.setUser(getUser(request));
    project = projectXYZService.createProject(project);
java spring-data couchbase spring-data-couchbase
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.