Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 由于循环引用,Spring引导应用程序未加载Swagger rest服务_Hibernate_Spring Boot_Swagger_Swagger Ui_Springfox - Fatal编程技术网

Hibernate 由于循环引用,Spring引导应用程序未加载Swagger rest服务

Hibernate 由于循环引用,Spring引导应用程序未加载Swagger rest服务,hibernate,spring-boot,swagger,swagger-ui,springfox,Hibernate,Spring Boot,Swagger,Swagger Ui,Springfox,我们有一个包含300个Rest服务的Spring引导应用程序,我们正试图为其生成一个招摇过市的文档。我们集成了Swagger,并将所需的Json参数添加到POJO中。当我们启动应用程序时,服务器即使在15分钟左右也不会启动,当我们查看日志时,它会以以下格式显示 2019-07-29 10:43:20,299 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding collectionEle

我们有一个包含300个Rest服务的Spring引导应用程序,我们正试图为其生成一个招摇过市的文档。我们集成了Swagger,并将所需的Json参数添加到POJO中。当我们启动应用程序时,服务器即使在15分钟左右也不会启动,当我们查看日志时,它会以以下格式显示

2019-07-29 10:43:20,299 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding collectionElement type Lcom/test/google/model/section/period/timetable/TimeTableTuesdayPeriod;
2019-07-29 10:43:20,299 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Recursively resolving dependencies for collectionElement type Lcom/test/google/model/section/period/timetable/TimeTableTuesdayPeriod;
2019-07-29 10:43:20,300 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding type Lcom/test/google/model/section/period/Period; for parameter period
2019-07-29 10:43:20,300 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Recursively resolving dependencies for type Lcom/test/google/model/section/period/Period;
2019-07-29 10:43:20,300 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding type Lcom/test/google/model/section/period/PeriodTimeTable; for parameter periodTimeTable
2019-07-29 10:43:20,301 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Recursively resolving dependencies for type Lcom/test/google/model/section/period/PeriodTimeTable;
2019-07-29 10:43:20,301 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding type Ljava/util/Set<Lcom/test/google/model/section/period/timetable/TimeTableWednesdayPeriod;>; for parameter timeTableWednesdayPeriod
2019-07-29 10:43:20,301 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding collectionElement type Lcom/test/google/model/section/period/timetable/TimeTableWednesdayPeriod;
2019-07-29 10:43:20,301 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Recursively resolving dependencies for collectionElement type Lcom/test/google/model/section/period/timetable/TimeTableWednesdayPeriod;
2019-07-29 10:43:20,302 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding type Lcom/test/google/model/section/period/Period; for parameter period
2019-07-29 10:43:20,302 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Recursively resolving dependencies for type Lcom/test/google/model/section/period/Period;
2019-07-29 10:43:20,302 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding type Lcom/test/google/model/section/period/PeriodTimeTable; for parameter periodTimeTable
2019-07-29 10:43:20,303 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Recursively resolving dependencies for type Lcom/test/google/model/section/period/PeriodTimeTable;
2019-07-29 10:43:20,303 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding type Lcom/test/google/model/section/period/PeriodTimeTable; for parameter periodTimeTable
2019-07-29 10:43:20,304 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Recursively resolving dependencies for type Lcom/test/google/model/section/period/PeriodTimeTable;
2019-07-29 10:43:20,304 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding type Ljava/util/Set<Lcom/test/google/model/section/period/timetable/TimeTableSaturdayPeriod;>; for parameter timeTableSaturdayPeriod
2019-07-29 10:43:20,305 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding collectionElement type Lcom/test/google/model/section/period/timetable/TimeTableSaturdayPeriod;
2019-07-29 10:43:20,305 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Recursively resolving dependencies for collectionElement type Lcom/test/google/model/section/period/timetable/TimeTableSaturdayPeriod;
2019-07-29 10:43:20,306 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Adding type Lcom/test/google/model/section/period/Period; for parameter period
2019-07-29 10:43:20,306 DEBUG springfox.documentation.schema.DefaultModelDependencyProvider [main] Recursively resolving dependencies for type Lcom/test/google/model/section/period/Period;

2019-07-29 10:43:20299调试springfox.documentation.schema.DefaultModelDependencyProvider[main]添加集合元素类型Lcom/test/google/model/section/period/TimeTableTuesdayPeriod;
2019-07-29 10:43:20299调试springfox.documentation.schema.DefaultModelDependencyProvider[main]递归解析collectionElement类型Lcom/test/google/model/section/period/TimeTableTuesdayPeriod的依赖关系;
2019-07-29 10:43:20300调试springfox.documentation.schema.DefaultModelDependencyProvider[main]添加类型Lcom/test/google/model/section/period/period;参数周期
2019-07-29 10:43:20300调试springfox.documentation.schema.DefaultModelDependencyProvider[main]递归解析Lcom/test/google/model/section/period/period类型的依赖关系;
2019-07-29 10:43:20300调试springfox.documentation.schema.DefaultModelDependencyProvider[main]添加类型Lcom/test/google/model/section/period/period时间表;参数周期时间表
2019-07-29 10:43:20301调试springfox.documentation.schema.DefaultModelDependencyProvider[main]递归解析Lcom/test/google/model/section/period/period类型的依赖关系;
2019-07-29 10:43:20301调试springfox.documentation.schema.DefaultModelDependencyProvider[main]添加类型Ljava/util/Set;对于参数timeTableWednesdayPeriod
2019-07-29 10:43:20301调试springfox.documentation.schema.DefaultModelDependencyProvider[main]添加collectionElement类型Lcom/test/google/model/section/period/timetable周三时段;
2019-07-29 10:43:20301调试springfox.documentation.schema.DefaultModelDependencyProvider[main]递归解析collectionElement类型Lcom/test/google/model/section/period/timetable周三时段的依赖关系;
2019-07-29 10:43:20302调试springfox.documentation.schema.DefaultModelDependencyProvider[main]添加类型Lcom/test/google/model/section/period/period;参数周期
2019-07-29 10:43:20302调试springfox.documentation.schema.DefaultModelDependencyProvider[main]递归解析Lcom/test/google/model/section/period/period类型的依赖关系;
2019-07-29 10:43:20302调试springfox.documentation.schema.DefaultModelDependencyProvider[main]添加类型Lcom/test/google/model/section/period/period时间表;参数周期时间表
2019-07-29 10:43:20303调试springfox.documentation.schema.DefaultModelDependencyProvider[main]递归解析Lcom/test/google/model/section/period/timeline类型的依赖关系;
2019-07-29 10:43:20303调试springfox.documentation.schema.DefaultModelDependencyProvider[main]添加类型Lcom/test/google/model/section/period/period时间表;参数周期时间表
2019-07-29 10:43:20304调试springfox.documentation.schema.DefaultModelDependencyProvider[main]递归解析Lcom/test/google/model/section/period/period类型的依赖关系;
2019-07-29 10:43:20304调试springfox.documentation.schema.DefaultModelDependencyProvider[main]添加类型Ljava/util/Set;对于参数timeTableSaturdayPeriod
2019-07-29 10:43:20305调试springfox.documentation.schema.DefaultModelDependencyProvider[main]添加集合元素类型Lcom/test/google/model/section/period/timeline/TimeTableSaturdayPeriod;
2019-07-29 10:43:20305调试springfox.documentation.schema.DefaultModelDependencyProvider[main]递归解析collectionElement类型Lcom/test/google/model/section/period/timetable/TimeTableSaturdayPeriod的依赖关系;
2019-07-29 10:43:20306调试springfox.documentation.schema.DefaultModelDependencyProvider[main]添加类型Lcom/test/google/model/section/period/period;参数周期
2019-07-29 10:43:20306调试springfox.documentation.schema.DefaultModelDependencyProvider[main]递归解析Lcom/test/google/model/section/period/period类型的依赖关系;
应用程序似乎一次又一次地递归地试图访问相同的对象,这使得它成为一个循环引用问题

以下是我们用于POJO的代码和注释:

@Entity(name="sections")
@JsonIdentityInfo(scope=Section.class,generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Section implements Serializable {


    @Id
    @Column(unique=true, nullable=false, length=19)
    private long id;
    @OneToMany(mappedBy="section")
    private Set<ReportCardTemplate> reportCardTemplate;
    @OneToMany(mappedBy="section")
    private Set<Admission> admission;
    @ManyToOne(optional=false)
    @JoinColumn(name="section_type_id", nullable=false)
    private SectionType sectionType;


@Entity(name="report_card_templates")
@JsonIdentityInfo(scope=ReportCardTemplate.class, generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class ReportCardTemplate implements Serializable {

    @Id
    @Column(unique=true, nullable=false, length=19)
    private long id;
    @ManyToOne(optional=false)
    @JoinColumn(name="section_id", nullable=false)
    private Section section;


@Entity(name="admissions")
@JsonIdentityInfo(scope=Admission.class,generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Admission implements Serializable {

    @Id
    @Column(unique=true, nullable=false, length=19)
    private long id;
    @ManyToOne(optional=false)
    @JoinColumn(name="actor_id", nullable=false)
    private Actor actor;
    @OneToOne(optional=false)
    @JoinColumn(name="subject_preference_id", nullable=false)
    private StudentSubjectPreference studentSubjectPreference;
    @ManyToOne(optional=false)
    @JoinColumn(name="section_id", nullable=false)
    private Section section;
    @OneToMany(mappedBy="admission")
    private Set<ExamSubjectMark> examSubjectMark;
@实体(name=“sections”)
@JsonIdentityInfo(scope=Section.class,generator=ObjectIdGenerators.PropertyGenerator.class,property=“id”)
公共类部分实现了可序列化{
@身份证
@列(unique=true,nullable=false,length=19)
私人长id;
@OneToMany(mappedBy=“section”)
私有集合报告卡模板;
@OneToMany(mappedBy=“section”)
私人入场;
@多通(可选=假)
@JoinColumn(name=“section\u type\u id”,nullable=false)
私有区段类型区段类型;
@实体(名称=“报表\卡片\模板”)
@JsonIdentityInfo(scope=ReportCardTemplate.class,generator=ObjectIdGenerators.PropertyGenerator.class,property=“id”)
公共类ReportCardTemplate实现可序列化{
@身份证
@列(unique=true,nullable=false,length=19)
私人长id;
@多通(可选=假)
@JoinColumn(name=“section\u id”,nullable=false)
私人组;
@实体(名称=“入学”)
@JsonIdentityInfo(scope=Admission.class,generator=ObjectIdGenerators.PropertyGenerator.class,property=“id”)
公共类准入实现了可序列化{
@身份证
@列(unique=true,nullable=false,length=19)
私人长id;
@多通(可选=假)
@JoinColumn(name=“actor\u id”,nullable=false)
私人演员;
@OneToOne(可选=错误)
@JoinColumn(name=“subject\u preference\u id”,null=false)
私立学生科目优先