Совместная загрузка MongoDB с Jackson @JsonIgnore в SpringBoot Rest Controller - PullRequest
1 голос
/ 23 сентября 2019

Я написал RestController в моем SpringBoot приложении.Я также использую 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.Я хотел бы спросить о ленивая загрузка точно.Если я использую @JsonIgnore из Jackson, чтобы игнорировать это поле при сериализации, ORM не получит "ленивые поля" из базы данных?

Заранее спасибо за помощь!

1 Ответ

1 голос
/ 23 сентября 2019

ORM будет извлекать только те ленивые загруженные поля, когда это необходимо.Это означает, что если вы дадите Джексону команду игнорировать их (используя аннотацию @JsonIgnore) во время сериализации, ORM не будет их получать.

...