一、设计实体
1、一般一个增删改查对应一个实体
2、一般页面引用了其他的实体时,表示与这个实体有关系
3、实体的属性:
①主键
②关联关系属性
③一般属性
④特殊属性:年龄,工龄等
二、Hibernate映射(由于之前只看过MyBatis没看过Hibernate,所以写的比较啰嗦)
1、多对一
<many-to-one name="本类中的属性名" class="对用的类名" column="外键" />
2、一对多
<set name="本类中的属性名">
<key column="对应对象的外键"></key>
<one-to-many class="对应对象类名" />
</set>
3、多对多
<set name="本类中的属性名" table="中间表">
<key column="对应对象中的外键"></key>
<many-to-many class="对应对象类名" column="本类中的外键" />
</set>
流程总结:
1、写注释
格式: XX 属性,表达的是本对象与 XX 的 XX 关系。
2、复制模板
3、填空 (在对应关系中、一定要注意“对应的关系”)
一个简单的例子
<?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 package="cn.itcast.oa.domain">
<class name="Department" table="itcast_department">
<!-- 主键,自增 -->
<id name="id">
<generator class="native"/>
</id>
<!-- 一般属性 -->
<property name="name" />
<property name="description" />
<!-- 关联关系属性 -->
<!-- users属性,本类与User类为一对多关系 -->
<set name="users">
<key column="departmentId"></key>
<one-to-many class="User"></one-to-many>
</set>
<!-- parent属性,本类与Department(父类) 为多对一的关系 -->
<many-to-one name="parent" class="Department" column="parentId"></many-to-one>
<!-- children属性,本类与Department(子类) 为一对多的关系 -->
<set name="children">
<key column="parentId"></key>
<one-to-many class="Department"></one-to-many>
</set>
</class>
</hibernate-mapping>