Показать коллекцию в отношении OneToMany в Jhipster - PullRequest
0 голосов
/ 20 марта 2019

Я использовал jHipster для создания своего приложения.У меня есть две сущности (Курс и Предмет) с отношением oneToMany, в представлении «Курс» я хочу показать предметы.Я безуспешно пытался это:

<ng-container *ngFor="let subject of course.subjects">

Единственный способ, который я нашел, это восстановить все предметы и сравнить, если subject.course.id == course.id, но это не очень функционально, и должен быть другойспособ

<ng-container *ngFor="let subject of subjects">
<tr *ngIf="subject.course.id == course.id" >

РЕДАКТИРОВАТЬ

Добавить модели

course.model.ts

export class Course implements BaseEntity {
    constructor(
        public id?: number,
        public name?: string,
        public subjects?: BaseEntity[],
    ) {
   }
}

subject.model.тс

export class Subject implements BaseEntity {
    constructor(
        public id?: number,
        public name?: string,
        public course?: BaseEntity,
    ) {
    }
 }

1 Ответ

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

ОК, я решаю проблему.jHipster включает в себя аннотацию @JsonIgnore, поэтому, когда Json отправляет данные course, это значение не включает subjects.Я удаляю эту аннотацию и добавляю:

Course.java:

@OneToMany(mappedBy = "course", cascade = CascadeType.ALL, fetch=FetchType.EAGER)
@JsonIgnoreProperties("course")
private Set<Subject> subjects = new HashSet<>();

Subject.java:

@ManyToOne
@JsonIgnoreProperties("subjects")
private Course course;
...