传智播客OA项目学习--阶段二(实体设计及技巧)

一、设计实体

    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>


你可能感兴趣的:(java,Hibernate,实体类,OA)