我在我的 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;
}
}
RoleEntity
和 UserEntity
也是来自同一数据库的实体。
我的 RestController
方法返回 ResponseEntity
,因此默认情况下使用 Jackson
将 Object
序列化为 JSON
.
我想具体询问延迟加载。如果我使用 Jackson
中的 @JsonIgnore
来忽略序列化中的该字段,ORM 不会从数据库获取“惰性字段”吗?
提前感谢您的帮助!
最佳答案
ORM 只会在需要时获取那些延迟加载的字段。这意味着如果您指示 Jackson 在序列化期间忽略它们(使用 @JsonIgnore 注释),ORM 将不会获取它们。
关于java - Spring Boot Rest Controller 中与 Jackson @JsonIgnore 合作 MongoDB 延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58064639/