Java org.springframework.dao.DataIntegrityViolationException:空约束
我的模型包中有一个学生类,它的userid引用了user类中的useridJava org.springframework.dao.DataIntegrityViolationException:空约束,java,spring,Java,Spring,我的模型包中有一个学生类,它的userid引用了user类中的userid @Entity @Table(name = "student") public class Student { @Id @Column(name = "Libraryid") private int libraryid; @Column(name = "Stdphone") private String phoneno; @Column(name = "stdmail") private String studentm
@Entity
@Table(name = "student")
public class Student {
@Id
@Column(name = "Libraryid")
private int libraryid;
@Column(name = "Stdphone")
private String phoneno;
@Column(name = "stdmail")
private String studentmail;
@Column(name = "address")
private String address;
@Column(name = "academicsid")
private int academicid;
@Column(name = "user_userid", nullable = true)
private int userid;
@Column(name = "stdname")
private String studentname;
public String getStudentname() {
return studentname;
}
public void setStudentname(String studentname) {
this.studentname = studentname;
}
public int getLibraryid() {
return libraryid;
}
public void setLibraryid(int libraryid) {
this.libraryid = libraryid;
}
public String getPhoneno() {
return phoneno;
}
public void setPhoneno(String phoneno) {
this.phoneno = phoneno;
}
public String getStudentmail() {
return studentmail;
}
public void setStudentmail(String studentmail) {
this.studentmail = studentmail;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAcademicid() {
return academicid;
}
public void setAcademicid(int academicid) {
this.academicid = academicid;
}
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
}
这是在数据库中添加学生的jsp文件,但我没有输入用户ID,因为我想在注册学生时输入
<body>
<form:form method="post" modelAttribute="student" action="admin">
<table>
<tr>
<td><form:label path="libraryid">libraryid</form:label></td>
<td><form:input path="libraryid" /></td>
</tr>
<tr>
<td><form:label path="studentname">Name</form:label></td>
<td><form:input path="studentname" /></td>
</tr>
<tr>
<td><form:label path="phoneno">phoneno</form:label></td>
<td><form:input path="phoneno" /></td>
</tr>
<tr>
<td><form:label path="studentmail">studentmail</form:label></td>
<td><form:input path="studentmail" /></td>
</tr>
<tr>
<td><form:label path="academicid">academicid</form:label></td>
<td><form:input path="academicid" /></td>
</tr>
<tr>
<td><input type="submit" value="Save"></td>
</tr>
</table>
</form:form>
我有这个错误
message Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: Cannot add or update a child row: a foreign key constraint fails (`sunwaylib`.`student`, CONSTRAINT `fk_student_user` FOREIGN KEY (`user_userid`) REFERENCES `user` (`Userid`) ON DELETE SET NULL ON UPDATE CASCADE); SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`sunwaylib`.`student`, CONSTRAINT `fk_student_user` FOREIGN KEY (`user_userid`) REFERENCES `user` (`Userid`) ON DELETE SET NULL ON UPDATE CASCADE)
虽然我已经设置了数据库允许空值但在学生表和用户表之间的数据库级别上有任何约束?是的,有学生表的userid引用了usertable中的userid主键。在学生表和用户表之间的数据库级别上有任何约束?是的,有学生表的userid引用了usertable中的userid主键引用usertable中的userid主键
message Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: Cannot add or update a child row: a foreign key constraint fails (`sunwaylib`.`student`, CONSTRAINT `fk_student_user` FOREIGN KEY (`user_userid`) REFERENCES `user` (`Userid`) ON DELETE SET NULL ON UPDATE CASCADE); SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`sunwaylib`.`student`, CONSTRAINT `fk_student_user` FOREIGN KEY (`user_userid`) REFERENCES `user` (`Userid`) ON DELETE SET NULL ON UPDATE CASCADE)