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

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



