我要做一对一关联 按理说我插入StudentGrades表的时候 如果Student中的属性有值 会先添加主表Student的值 现在也是这样的 我Save(StudentGrades)  两张表都插入  但是这个save方法只能用一次  用第二次 也就是我再次添加的时候就报错了 错误信息是:
违反了 PRIMARY KEY 约束 'PK_tbl_studentGrades'。不能在对象 'dbo.tbl_studentGrades' 中插入重复键。不知道哪里配置错误 请指教  Student表的ID是主键自动增长  StudentGrades只是主键
下面是表@Entity
@Table(name="tbl_student")
public class Student {
private int id;
private String studentName;
private String studentAge;
private StudentGrades studentGrades;

@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getStudentAge() {
return studentAge;
}
public void setStudentAge(String studentAge) {
this.studentAge = studentAge;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}

@OneToOne(cascade=CascadeType.ALL)
@PrimaryKeyJoinColumn
public StudentGrades getStudentGrades() {
return studentGrades;
}
public void setStudentGrades(StudentGrades studentGrades) {
this.studentGrades = studentGrades;
}
}
@Entity
@Table(name="tbl_studentGrades")
public class StudentGrades {
private int id;
private String studentYW;
private String studentWY;
private Student student;

@Id
 @GenericGenerator(name ="pkGenerator",strategy="foreign" ,parameters={@Parameter(name="property",value="student")})
 @GeneratedValue(generator="pkGenerator")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getStudentWY() {
return studentWY;
}
public void setStudentWY(String studentWY) {
this.studentWY = studentWY;
}
public String getStudentYW() {
return studentYW;
}
public void setStudentYW(String studentYW) {
this.studentYW = studentYW;
}

@OneToOne(cascade=CascadeType.ALL, mappedBy="studentGrades")
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}}