Потому что я получаю эту ошибку, если хочу отношений "многие ко многим"? - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь создать отношения «многие ко многим» с kotlin кПа и пружинной загрузкой, но я не могу найти решение следующей ошибки

По правде говоря, я не очень ну как найти ошибку, в сущности многие ко многим

@Entity @Table(name = "student")
data class Student(
        var name: String = "",

        @ManyToMany(cascade = [CascadeType.ALL])
        @JoinTable(name = "student_subject",
                joinColumns = [JoinColumn(name = "student_id", referencedColumnName = "id")],
                inverseJoinColumns = [JoinColumn(name = "subject_id", referencedColumnName = "id")])
        var subjects: List<Subject> = mutableListOf<Subject>(),

        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        var id: Long = -1
){
        override fun toString(): String{
                return "{student: ${this.name}, subjects: ${subjects.map { it->it.name }}}";
        }
}

@Entity @Table(name = "subject")
data class Subject(
        @Id
        var id: Long = -1,

        var name: String = "",

        @ManyToMany(mappedBy = "subjects")
        var students: List<Student> = mutableListOf<Student>()
){
        override fun toString(): String{
                return "{subject: ${this.name}, students: ${students.map { it->it.name }}}";
        }
}

2020-08-03 22:16:37.984 WARN 9468 --- [nio-5000-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Failure while trying to resolve exception [org.springframework.http.converter.HttpMessageNotWritableException] java.lang.IllegalStateException: Cannot call
sendError() after the response has been committed at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:472) ~[tomcat-embed-core-9.0.37.jar:9.0.37] at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178)
~[jackson-databind-2.11.1.jar:2.11.1] .1] at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:107) ~[jackson-databind-2.11.1.jar:2.11.1] at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:25)
~[jackson-databind-2.11.1.jar:2.11.1] at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) ~[jackson-databind-2.11.1.jar:2.11.1] at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755)
~[jackson-databind-2.11.1.jar:2.11.1] 2020-08-03 22:16:38.016 ERROR 9468 --- [nio-5000-exec-2] s.e.ErrorMvcAutoConfiguration$StaticView : Cannot render error page for request [/v1/api/order] and exception [] as the response has already been committed.
As a result, the response may have the wrong status code.
...