2013-03-01 37 views
0

我正在通過一對一的映射方面的XML,通過在這兩個表中有一個相同的主鍵的方法,我有以下pojo ..也請指教是,我在HBM文件或東西專門以下,如果我缺少那麼正確的方式請讓我知道一對一映射關係在這兩個表中的相同主鍵

1)第一個是人

public class Person 
{ 
    private int personId; 
    private String name; 
    private Address address; 
    public Person() 
    { 
     super(); 
    } 
    public Person(String name, Address address) 
    { 
     super(); 
     this.name = name; 
     this.address = address; 
    } 
    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 Address getAddress() { 
     return address; 
    } 
    public void setAddress(Address address) { 
     this.address = address; 
    } 

} 

2)另一種是地址

public class Address 
{ 
    private int id; 
    private String city,state; 

    public Address() 
    { 
     super(); 

    } 

    public Address(String city, String state) 
    { 
     super(); 
     this.city = city; 
     this.state = state; 
    } 

    public int getId() { 
     return id; 
    } 
    public void setId(int id) { 
     this.id = id; 
    } 
    public String getCity() { 
     return city; 
    } 
    public void setCity(String city) { 
     this.city = city; 
    } 
    public String getState() { 
     return state; 
    } 
    public void setState(String state) { 
     this.state = state; 
    } 

} 

和HBM XML映射文件是..

<class name="mypack.Address" table="address31"> 
<id name="id" column="addressId" type="int"> 
<generator class="increment"/> 
</id> 
<property name="city"/> 
<property name="state"/> 
</class> 

<class name="mypack.Person" table="person31"> 
<id name="personId" type="int"> 
<generator class="foreign"> 
<param name="property">address</param> 
</generator> 
</id> 
<property name="name"/> 
<one-to-one name="address" class="mypack.Address"/> 
</class> 

</hibernate-mapping> 

回答

相關問題