Java Hibernate实体与Ajax

Java Hibernate实体与Ajax,java,ajax,hibernate,Java,Ajax,Hibernate,我有实体班考试,它和实体班学生有着千丝万缕的联系。考试与学科的联系是多方面的。 我向控制器发送了相应的输入。但是当我试图发送它时,我有一个错误(错误的请求)。我找到了它发生的原因。在考试中,我有以下领域: 考试分数、学生、科目和考试ID。检查ID自动生成。我在JSP中输入的其他字段。当我试图通过使用Ajax在controller中检查student和subject的值时,我出现了一个错误。但是当我只通过考试分数的时候就没关系了。我不知道为什么会这样 @Entity @Table(name = "

我有实体班考试,它和实体班学生有着千丝万缕的联系。考试与学科的联系是多方面的。 我向控制器发送了相应的输入。但是当我试图发送它时,我有一个错误(错误的请求)。我找到了它发生的原因。在考试中,我有以下领域: 考试分数、学生、科目和考试ID。检查ID自动生成。我在JSP中输入的其他字段。当我试图通过使用Ajax在controller中检查student和subject的值时,我出现了一个错误。但是当我只通过考试分数的时候就没关系了。我不知道为什么会这样

@Entity
@Table(name = "Examination")
public class Examination implements Serializable {

public Examination() {}

public Examination(String examinationMark) {
    this.examinationMark = examinationMark;
}

// create connectivity with table Student
private Student student;

@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "StudentID")
public Student getStudent() {
    return this.student;
}

public void setStudent(Student student) {
    this.student = student;
}

// create connectivity with table Subject
private Subject subject;

@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "SubjectId")
public Subject getSubject() {
    return subject;
}

public void setSubject(Subject subject) {
    this.subject = subject;
}
主体实体类

@Entity
@Table(name = "Subject")
public class Subject implements Serializable {
public Subject() {}

public Subject(String subjectTitle, int subjectHours) {
    this.subjectTitle = subjectTitle;
    this.subjectHours = subjectHours;
}

// create connectivity with table Examination
private Set<Examination> examinations; 

@OneToMany(mappedBy = "subject", cascade = CascadeType.ALL, orphanRemoval = true)
public Set<Examination> getExaminations() {
    return examinations;
}

public void setExaminations(Set<Examination> examinations) {
    this.examinations = examinations;
}
@Entity
@Table(name = "Student")
public class Student implements Serializable {

public Student() {}

public Student(String studentFullName, String studentBook,
               int studentEnter, String studentOKR) {
    this.studentFullName = studentFullName;
    this.studentBook = studentBook;
    this.studentEnter =studentEnter;
    this.studentOKR = studentOKR;
}

// create connectivity with table Examination
private Set<Examination> examinations = new HashSet<Examination>();

@OneToMany(mappedBy = "student",cascade = CascadeType.ALL, orphanRemoval = true)
public Set<Examination> getExaminations() {
    return examinations;
}

public void setExaminations(Set<Examination> examinations) {
    this.examinations = examinations;
}
JSP文件

<div id="examPart">
                <label>Subject</label>
                <select id="subject">
                    <c:forEach var="s" items="${subjects}"> 
                        <option value="${s.subjectTitle}" >${s.subjectTitle}</option>
                    </c:forEach>
                </select>
                    <br/>
                <label>Exam mark</label>
                <input id="examinationMark" />
                <input type="submit" value="Add exam" onclick="addExam()" />
                <div id="exam" style="color:green"></div>
            </div>

400个错误的请求。我认为问题出在考试课的学科和学生方面。当我发送没有插入此字段的ajax请求时,它会将正确的request404映射发送到Not Found,所以请检查您的URI映射。我希望数据中的错误会有不同的错误代码。我写错了代码。不是404而是400
<div id="examPart">
                <label>Subject</label>
                <select id="subject">
                    <c:forEach var="s" items="${subjects}"> 
                        <option value="${s.subjectTitle}" >${s.subjectTitle}</option>
                    </c:forEach>
                </select>
                    <br/>
                <label>Exam mark</label>
                <input id="examinationMark" />
                <input type="submit" value="Add exam" onclick="addExam()" />
                <div id="exam" style="color:green"></div>
            </div>
function addExam() {
            var examinationMark = $('#examinationMark').val();
            var subject = $('#subject');
            var student = '${student}';

            $.ajax({
                type: "POST",
                url: "/IRSystem/studentProfileEdit.html",
                data: "examinationMark=" + examinationMark +
                      "&student=" + student +
                      "&subject=" + subject ,
                success: function(response) {
                    $('#exam').html(response);
                    $('#examinationMark').val('');
                },
                error: function(e) {
                    alert('Error' + e);
                }

            });
        }