0
在多对一映射哪一列将作为外键:从地址表,该表列用作学生表一对多和ManToOne注释
public class Student {
private String studentName;
private Address studentAddress;
public Student(String studentName, Address studentAddress) {
this.studentName = studentName;
this.studentAddress = studentAddress;
}
@ManyToOne(cascade = CascadeType.ALL)
public Address getStudentAddress() {
return this.studentAddress;
}
外键和地址类:
public class Address {
private long addressId;
private String street;
@Id
@GeneratedValue
@Column(name = "ADDRESS_ID")
public long getAddressId() {
return this.addressId;
}
@Column(name = "ADDRESS_STREET", nullable = false, length = 250)
public String getStreet() {
return this.street;
}
}
在多对一这是由@JoinColumn和@JoinColumn做
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "STUDENT_PHONE", joinColumns = { @JoinColumn(name = "STUDENT_ID") }, inverseJoinColumns = { @JoinColumn(name = "PHONE_ID") })
public Set<Phone> getStudentPhoneNumbers() {
return this.studentPhoneNumbers;
}
难道我错过了一些的事情,或者这是正确的,我不明白correclty
什么是你的问题正是主键?你为什么不测试一切是否正常并询问你是否有问题? – 2012-03-16 08:20:01
@JB ...谢谢你的回复.. ..我已经执行它,它工作正常......但我的问题是它是如何工作自动在manyToOne没有任何注释类型JoinColumn或JoinTable ..... – 2012-03-16 08:25:04