(1)用户登录类User和用户详情类UserDetails是一一对应的关系;
(2)用户详细信息类UserDetails与部门是多对一的关系; (一个部门有多个用户)
(三)部门类别相互关联且有上级部门;
(3)用户详细信息类UserDetails和角色类Role之间存在多对多关系; (一个用户可以有多个角色角色权限设计,一个角色也可以对应多个用户)
(4)角色类Role和权限类Privilege类是多对多的关系; (一个角色可以有多个权限3D交通工具,一个权限也可以对应多个角色)
(5)权限等级是自关联的,因为权限等级分为几级权限。
然后到处都可以直接访问java实体类,
然后复制到MyEclipse中生成get和set方法
二:编写hibernate的hbm.xml映射文件。 普通属性可以分两屏,面对面书写。 主要讲实体之间的对应关系。
(1)用户类和用户信息类是一一对应的,我使用外键关联(即用户表包含用户信息表的主键ID)
用户信息类中有用户属性:(级联就是级联)
user表中有一个userDetails属性,表示创建数据库表时的列名column="UserDetails_Id"。
(2)部门类和用户信息类多对一
用户信息类中有一个部门属性,对应表中存储的部门ID:
Department类中有一个userDetails属性,key表示对应的列:
(3)用户信息类和角色类是多对多
用户信息类中有一个roles属性,表示中间表为T_UserDetails_Role:(多对多关系需要创建一个中间表,分别存储两个表的主键ID)
key指定对应的列,
角色类中有 userDetails 属性
(4)也是多对多角色权限设计,同上
(5)部门自关联,上级部门多对一,下级部门一对多
(6)权限自关联硬件设备,同上
三:测试,创建sessionFactory时创建表,编写JUnit测试执行
(1)发现表自动创建成功。 接下来我们主要检查对应关系是否正确。
(2)正确
(3)正确
(4)正确
(5)正确
(6)正确
(7) 正确
(8)正确
4. 总结
主要总结一下对应关系:
(1)主表和副表一对一(外键)
(2) 一对多
(3)多对一
(4)多对多
一对多和多对多需要集合,多对多需要多个表和列属性。
步:
1.编写注释对应关系
即:xx属性,本类与yy类的zz关系
2.复制上面的模板
3、填写:(1)姓名---->xx
(2)类---->yy
(3)
1)多对一中的Column---->yy_Id(取决于个人习惯)
2)key----->对方多对一的一对多中的列属性
3)键入多对多---->这个object_Id(看个人习惯)
多对多列---->yy_Id