я хочу отключить выборку в сущности @OneToMany

Если вы пытаетесь воспользоваться полиморфным поведением, вам необходимо убедиться, что методы, видимые для внешних классов (которые требуют полиморфизма), имеют одну и ту же подпись. Это означает, что они должны иметь одинаковое имя, номер и порядок параметров, а также типы параметров.

В вашем случае вам может быть лучше иметь общий метод draw() и полагаться на подклассы (Rectangle, Ellipse), чтобы реализовать метод draw() как то, о чем вы думали как «drawEllipse» и «drawRectangle».

-2
задан SOF 5 March 2019 в 11:36
поделиться

2 ответа

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

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

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

0
ответ дан Osher Shuman 5 March 2019 в 11:36
поделиться

Вам нужно использовать "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>();
0
ответ дан Himesh goswami 5 March 2019 в 11:36
поделиться