我檢查了下面的編碼適用於一對一關係,但它所放置的已連接非主鍵列的主鍵值REFID如何在一對一映射中加入非主鍵列並根據該映射選擇記錄
我沒有得到答案
Data should save like this image
父類
@Entity
@Table(name = "Parent")
public class Parent {
@Id
@GenericGenerator(name = "j", strategy = "increment")
@GeneratedValue(generator = "j")
@Column(name = "parentId")
private Long parentId;
@Column(name = "parentName")
private String parentName;
@Column(name = "prentEmail")
private String prentEmail;
@Column(name = "cell_phone")
private String cellphone;
@Column(name = "refID")
private String refID;
@OneToOne(mappedBy = "parent", cascade = CascadeType.ALL)
private Student student;
public Parent() {
}
public Parent(String parentName, String prentEmail, String cellphone, String refID) {
this.parentName = parentName;
this.prentEmail = prentEmail;
this.cellphone = cellphone;
this.refID = refID;
}
// getters and setters
}
Student類
@Entity
@Table(name = "student")
public class Student {
@Id
@Column(name="studentID", unique=true, nullable=false)
@GeneratedValue(generator="gen")
@GenericGenerator(name="gen", strategy="foreign", [email protected](name="property", value="parent"))
private Long studentId;
@Column(name = "studentName")
private String studentName;
@Column(name = "studentEmail")
private String studentEmail;
@Column(name = "StudentCLassName")
private String StudentCLassName;
@OneToOne
@PrimaryKeyJoinColumn
private Parent parent;
public Student() {
}
public Student(String studentName, String studentEmail, String studentCLassName) {
this.studentName = studentName;
this.studentEmail = studentEmail;
StudentCLassName = studentCLassName;
}
// gettters and setters
}
MainClass
public class HibernateTest {
public static void main(String[] args) {
Parent parent=new Parent("Eregowda","[email protected]","9964289813","ReferenceID1");
Student student=new Student("Pradee","[email protected]","10th");
Configuration cfg = new Configuration();
cfg.configure();
SessionFactory factory = cfg.buildSessionFactory();
Session session = factory.openSession();
Transaction tx = session.beginTransaction();
tx.begin();
parent.setStudent(student);
student.setParent(parent);
session.save(parent);
tx.commit();
session.close();
}
}
您是否嘗試過用「@ PrimaryKey'JoinColumn – karelss
亞,但在學生的表聯接的列越來越父主鍵值不ReferenceID1 –