实体之间的关系主要有以下两种:
关联关系:如用户可以发布多条信息,这就表示用户和信息之间存在关联关系
泛化关系:如老虎是动物,就表示老虎和动物之间存在着泛化关系
解释:
实体之间的关联关系:关联是指不同表之间的数据彼此联系的方法。数据库的表与表之间的关联关系,以外键的形式体现
单向多对一关联:
在租房系统中从街道到区的关联就是典型的多对一关联
public
class District implements java.io.Serializable
{
//区
private
Long id;
private
String name;
/** 默认的构造方法
*/
public
District(){
}
//省略setter/getter方法
}
public
class Street implements java.io.Serializable
{
//街道
private
Long id;
private
District district;
private
String name;
/** 默认的构造方法
*/
public
Street(){
}
public District getDistrict(){
return this.district;
}
public void setDistrict(District
district)
{
this.district
=
district;
}
// 省略部分setter/getter方法
}
<hibernate-mapping>
<class name="cn.jbit.houserent.bean.Street"
table="street”>
<id name="id" type="java.lang.Long">
<column name="id" />
<generator class="native" />
</id>
<many-to-one
name="district"
class="cn.jbit.houserent.bean.District">
<column name="district_id" />
</many-to-one>
<property name="name" type="java.lang.String">
<column name="street_name"
length="50" not-null="true" />
</property>
</class>
</hibernate-mapping>
many-to-one
元素的常用属性
属性 |
含义和作用 |
必须 |
默认值 |
name |
映射类属性的名称 |
Y |
|
class |
关联类的完全限定名 |
N |
|
column |
关联的字段 |
N |
|
not-null |
设置关联的字段的值是否可以为空 |
N |
false |
lazy |
指定关联对象是否使用延迟加载以及延迟加载的策略 |
N |
proxy |
fetch |
设置抓取数据的策略 |
N |
select |
单向多对一,在“多”的一方,设置“一”的引用,再配置<many-to-one>标签
“一”的一方不变