我的目标 :
在Spring MVC中,我必须将手机联系人列表保存到数据库中。
例:
phone1 sonia 2554654 work
2554654 home
具有多个phone_Number类型的多个phone_number
联系人表
id,
contact_name
phone_number
phone_type
在我的java课上
public class ContactMobile {
private String type;
private String number;
public ContactMobile() {
}
public ContactMobile(String type, String number) {
super();
this.type = type;
this.number = number;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
在这里我使用SET作为电话号码和类型
@Entity
@Table(name = "_contact")
public class MobileContact {
private String id;
private String fullname;
private Set<ContactMobile> mobileNumbers;
public MobileContact(String fullname, Set<ContactMobile> mobileNumbers) {
super();
this.fullname = fullname;
this.mobileNumbers = mobileNumbers;
}
@Id
@Column(name = "Id")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Column(name = "fullname")
public String getFullname() {
return fullname;
}
public void setFullname(String fullname) {
this.fullname = fullname;
}
public Set<ContactMobile> getMobileNumbers() {
return mobileNumbers;
}
public void setMobileNumbers(Set<ContactMobile> mobileNumbers) {
this.mobileNumbers = mobileNumbers;
}
public MobileContact() {
super();
}
}
我正在使用休眠存储数据。
我的问题在我的MobileContact类中
public Set<ContactMobile> getMobileNumbers() {
return mobileNumbers;
}
我必须在这里使用什么注释来保存多个电话号码?
最佳答案
MobileContact
实体有很多ContactMobile
,它是一个OneToMany关系。在ContactMobile
表中,您应该有一个MobileContact
的ID字段,例如mobile_contact_id
,并在ContactMobile
中的该字段上设置联接列,如下所示:
@OneToMany(fetch = FetchType.LEZY)
@JoinColumn(name = "mobile_contact_id")
private Set<ContactMobile> mobileNumbers;
您可以在this中获取有关该关系的详细信息。