Spring Boot Rest Controller中与Jackson@JsonIgnore的合作MongoDB延迟加载

Cooperation MongoDB lazy loading with Jackson @JsonIgnore in SpringBoot Rest Controller

我在我的 SpringBoot 应用程序中写了一个 RestController。我也在使用 MongoDB。这是我的实体:

public class LocationEntity {

    @Id
    private String id;

    private String name;

    @DBRef(lazy = true)
    @JsonIgnore
    private UserEntity owner;

    private String description;

    @DBRef(lazy = true)
    private List<RoleEntity> roles;

    private Date date;

    public LocationEntity(String name, UserEntity owner, String description, List<RoleEntity> roles, Date date) {
         this.name = name;
         this.owner = owner;
         this.description = description;
         this.roles = roles;
         this.date = date;
    }
}

RoleEntityUserEntity 也是来自同一数据库的实体。 我的RestController的方法returnResponseEntity,所以里面默认使用Jackson来序列化ObjectJSON。 我想问一下 lazy loading 准确。如果我使用 Jackson 中的 @JsonIgnore 在序列化中忽略该字段,ORM 是否不会从数据库中获取 "lazy fields"

提前感谢您的帮助!

ORM 只会在需要时获取那些延迟加载的字段。这意味着如果您指示 Jackson 在序列化期间忽略它们(使用 @JsonIgnore 注释),ORM 将不会获取它们。