[英]Unable to make 'many-to-many' relation between Person and Address class
如何在2類“ Person
和“ Address
之間建立many-to-many
關系? 以下分別是Person
和Address
的POJO 。
人物:
public class Person {
private int personID;
private String name;
private Person person;
private List addressList;
public List getAddressList() {
return addressList;
}
public void setAddressList(List addressList) {
this.addressList = addressList;
}
public int getPersonID() {
return personID;
}
public void setPersonID(int personID) {
this.personID = personID;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
}
地址 :
public class Address {
private int addressID;
private String address;
private Person person;
public int getAddressID() {
return addressID;
}
public void setAddressID(int addressID) {
this.addressID = addressID;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
}
我想定義的關系是: A person can have many addresses and one address can belong to many people
。 我無法在mapping xml
表示這一點。 到目前為止,這是我能夠做的。
<hibernate-mapping>
<class name="pojo.Person" table="person">
<id name="personID" column="p_id">
<generator class="increment" />
</id>
<property name="name" column="p_name" />
<list name="addressList" table="address">
<key column="a_id" />
<!-- DEFINE MANY TO MANY --!>
</list>
</class>
<class name="pojo.Address" table="address">
<id name="addressID" column="a_id">
<generator class="" />
</id>
<property name="address" />
</class>
</hibernate-mapping>
如何定義這兩個類之間的many to many
關系?
在Address
類中添加private List persons
而不是private Person person
。
像這樣配置您的mapping.xml
//For person.hbm.xml
<list name="addresses" inverse="false" table="person_address">
<key>
<column name="Person_ID" not-null="true" />
</key>
<many-to-many entity-name="domains.Address">
<column name="listAddress_ID" not-null="true" />
</many-to-many>
</list>
//For address.hbm.xml
<list name="persons" inverse="false" table="person_address">
<key>
<column name="listAddress_ID" not-null="true" />
</key>
<many-to-many entity-name="domains.Person">
<column name="Person_ID" not-null="true" />
</many-to-many>
</list>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.