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