嵌套的参考对象将持久保留为null

时间:2019-02-19 13:37:32

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

我试图使用spring-data将其存储在长沙发中的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);

1 个答案:

答案 0 :(得分:1)

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

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