я хочу отключить выборку в сущности @OneToMany - PullRequest
0 голосов
/ 05 марта 2019

У меня есть однонаправленная ассоциация

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
    @JoinColumn(name = "candidate_id", nullable=false)
    private List<Achievement> achievements= new ArrayList<Achievement>();

Я хочу отключить выборку, чтобы получать ее, когда захочу я не хочу, чтобы hibrnate возвращал достижения для каждого звонка

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Если я правильно понимаю, когда вы тянете объект, вы не хотите, чтобы достижения также извлекались из базы данных?Если это так, то вы должны использовать это:

@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
    @JoinColumn(name = "candidate_id", nullable=false)
    private List<Achievement> achievements= new ArrayList<Achievement>();

Ленивый тип извлечения не будет извлекать ваши отношения один ко многим, поэтому в этом случае достижения не будут извлечены из базы данных, если вы извлекаете объектэто имеет достижения.

0 голосов
/ 05 марта 2019

Вам нужно использовать "com.fasterxml.jackson.annotation.JsonIgnoreProperties;"

@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "candidate_id", nullable=false)
@JsonIgnoreProperties("achievements")
private List<Achievement> achievements= new ArrayList<Achievement>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...