前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >传智播客OA项目学习--阶段二(实体设计及技巧)

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

作者头像
lpe234
发布2020-07-27 16:47:22
5810
发布2020-07-27 16:47:22
举报
文章被收录于专栏:若是烟花若是烟花

一、设计实体

1、一般一个增删改查对应一个实体

2、一般页面引用了其他的实体时,表示与这个实体有关系

3、实体的属性:

①主键

②关联关系属性

③一般属性

④特殊属性:年龄,工龄等

二、Hibernate映射(由于之前只看过MyBatis没看过Hibernate,所以写的比较啰嗦)

1、多对一

代码语言:javascript
复制
<many-to-one name="本类中的属性名" class="对用的类名" column="外键" />

2、一对多

代码语言:javascript
复制
<set name="本类中的属性名">
    <key column="对应对象的外键"></key>
    <one-to-many class="对应对象类名" />
</set>

3、多对多

代码语言:javascript
复制
<set name="本类中的属性名" table="中间表">
    <key column="对应对象中的外键"></key>
    <many-to-many class="对应对象类名" column="本类中的外键" />
</set>

流程总结:

1、写注释

格式: XX 属性,表达的是本对象与 XX 的 XX 关系。

2、复制模板

3、填空 (在对应关系中、一定要注意“对应的关系”)


一个简单的例子

代码语言:javascript
复制
<?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>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档