В сопоставлении ManyToOne какой столбец будет действовать как внешний ключ: какой столбец из таблицы адресов используется в качестве внешнего ключа в таблице Student
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;
}
}
как и во ManyToOne, это делают @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;
}
Я что-то упускаю, или это правильно, и я не понимаю правильности