我的目标:
在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();
}
}
我正在使用hibernate来存储数据.. 我的问题出在我的 MobileContact 类
中public Set<ContactMobile> getMobileNumbers() {
return mobileNumbers;
}
我必须在这里用什么注释来保存多个语音?
答案 0 :(得分:1)
MobileContact
实体有很多ContactMobile
,它是OneToMany关系。在您的ContactMobile
表格中,您应该有一个MobileContact
ID的字段,例如mobile_contact_id
,并在ContactMobile
中设置该字段的加入列,如下所示:< / p>
@OneToMany(fetch = FetchType.LEZY)
@JoinColumn(name = "mobile_contact_id")
private Set<ContactMobile> mobileNumbers;
您可以在this。
中详细了解该关系答案 1 :(得分:0)
您可以将Embeddables(而非实体)用于非常简单的值对象,例如MobileContact
(然后它们不需要ID,并且不仅仅是没有自己标识的简单值对象)< / p>
@Embeddable
public class ContactMobile {...
//implement an equals and hashcode method!
}
public class MobileContact {
...
@ElementCollection
private Set<ContactMobile> mobileNumbers;
...
}