Hibernate 单向多对一联系关系(使用中间表)
Hibernate 单向多对一关联(使用中间表)
People.java
/** * */ package com.hb.po; import java.util.HashSet; import java.util.Set; /** * @author dudong0726 * * @date 2011-11-9 上午10:51:17 * */ public class People { private long id; private String name; private Address address; public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } public long getId() { return id; } public void setId(long id) { this.id = id; } }
Address.java
/** * */ package com.hb.po; /** * @author dudong0726 * * @date 2011-11-9 上午10:51:48 * */ public class Address { private long id; private String addressDesc; public String getAddressDesc() { return addressDesc; } public void setAddressDesc(String addressDesc) { this.addressDesc = addressDesc; } public long getId() { return id; } public void setId(long id) { this.id = id; } }
many2one_with.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.hb.po.People" table="peoplemany2onewith"> <id name="id" column="p_id"> <generator class="native"></generator> </id> <property name="name"></property> <join table="people_addressmany2one" optional="true"> <key column="p_id" unique="true"></key> <many-to-one name="address" column="a_id" not-null="true"></many-to-one> </join> </class> <class name="com.hb.po.Address" table="addressmany2onewith"> <id name="id" column="a_id"> <generator class="native"></generator> </id> <property name="addressDesc"></property> </class> </hibernate-mapping>