在Jhipster中的oneToMany关系中显示集合

时间:2019-03-20 18:33:37

标签: java html angular spring jhipster

我已经使用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.ts

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

1 个答案:

答案 0 :(得分:0)

好的,我解决了问题。 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;