OA项目(一对多、多对一、多对多的关系映射)

该博客详细介绍了OA项目中部门、用户和岗位之间的关系,包括多对多、多对一和一对多的关联。在设计实体时,采用了双向关联的方式,并在映射描述文件中设置了中间表以处理多对多关系。通过将映射文件加入到hibernate配置文件并进行测试,成功自动生成了符合预期的数据库表结构,如t_user_role表处理多对多关系,t_user表的departmentId字段处理多对一关系,以及t_department表的parentId字段处理一对多关系。
摘要由CSDN通过智能技术生成

一、部门、用户以及岗位关系介绍

 PS:①、岗位与用户的关系? 多对多关系。一个岗位可以有多个用户,一个用户可以任多个岗位

         ②、用户与部门的关系? 多对一关系。一个用户只属于一个部门,一个部门可以有多个用户

         ③、部门与部门的关系?一对多关系。一个部门下面可以有多个子部门,一个子部门只能有一个上级部门。


 二、设计实体

用户实体类:

package cn.oa.model;

import java.util.HashSet;
import java.util.Set;

public class User {
	
	private Long id;
	private Department department;
	private Set<Role> roles = new HashSet<Role>();
	
	private String loginName;
	private String password;
	private String name;
	private String gender;
	private String phoneNumber;
	private String email;
	private String description;
	
	.............省略 get/set/equal/hashCode/toString 方法.............
	
}

岗位实体类:

package cn.oa.model;

import java.util.HashSet;
import java.util.Set;

public class Role {
	private Long id;
	private String name;
	
	private String description;
	private Set<User> users = new HashSet<User>();

	
	.............省略 get/set/equal/hashCode/toString 方法.............
	
}

部门实体类:

package cn.oa.model;

import java.util.HashSet;
import java.util.Set;

public class Department {

	private Long id;
	private Set<User> users = new HashSet<User>();
	private Department p
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值