Hibernate多对一单向关联映射
1、AddressTwo.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!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.persistent.AddressTwo" table="address">
<id name="id" column="addressId" unsaved-value="0">
<generator class="increment">
</generator>
</id>
<property name="addressName" column="addressName"></property>
<many-to-one name="peopleTwo"
column="peopleId"
class="com.persistent.PeopleTwo"
cascade="all"
>
</many-to-one>
</class>
</hibernate-mapping>
2、PeopleTwo.hbm.xml
<hibernate-mapping default-lazy="false">
<class name="com.persistent.PeopleTwo" table="people">
<id name="id" column="peopleId" unsaved-value="0">
<generator class="increment">
</generator>
</id>
<property name="name" column="name"></property>
</class>
</hibernate-mapping>
3、PeopleTwo.java和AddressTwo.java

public class PeopleTwo ...{
private long id;
private String name;
…
}
public class AddressTwo ...{
private long id;
private PeopleTwo peopleTwo;
private String addressName;
…
}
4、测试程序
Session session = HibernateSessionFactory.getSession();
session.beginTransaction();
List result = session.createQuery("from AddressTwo").list();
session.getTransaction().commit();
for(int i = 0; i<result.size(); i++)...{
AddressTwo addressTwo = (AddressTwo)result.get(i);
System.out.println(addressTwo.getId()+" " +addressTwo.getAddressName()+" "
+addressTwo.getPeopleTwo().getId()+" "
+addressTwo.getPeopleTwo().getName()
);
}

);
} 
本文介绍Hibernate中多对一单向关联映射的方法,包括Address与People两个实体类的定义及其XML映射文件,展示了如何通过many-to-one标签建立联系,并提供了测试程序示例。
1281

被折叠的 条评论
为什么被折叠?



