博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate.cfg.xml配置文件对关联关系的书写技巧!
阅读量:6917 次
发布时间:2019-06-27

本文共 2075 字,大约阅读时间需要 6 分钟。

以Department(部门类)和User(用户类)作为例子:
类图如下:
一般hibernate.cfg.xml的配置文件开头都是如下:
1 
2 5
6
7
8
9
10
11
12
 
只需要改变一下package=""包名,类名和对应的表名。
写完这些后,就可以准备写其它的普通属性和有关联关系的属性。
首先第一步:
  • 一、先写其它的普通属性。(如:type是基本数据类型的)
          如下面例子:
1 
2
3
4
5
6
7
8
9

 

  • 二、 然后准备写有关联关系的属性的配置注释。
如:
在department.cfg.xml配置Department跟User的关联关系,还有自己的自关联的关系,那么先写出如下格式的注释:
[“什么”属性,本类与“什么类”的“什么关系”]
然后写出相应的关系模版,关于模板如下:
  1. 多对一的模板:
  2. 一对多的模板:
    1 
    2
    3
    4
  3. 多对多的模版:
    1 
    2
    3
    4
  4.  一对一的模版:
    1 
     
本例子:写出注释:
1 
2
3
4
5
6
7
8
9
10
11
12

 

  • 三、最后填空
    [“什么”属性,本类与“什么类”的“什么关系”]    
根据上面注释模板来对配置进行填空。
填写name属性:其中不管什么关联关系的name属性都对应着第一个“什么”。
填写class属性: 不管什么关联关系的class属性都对应着第二个“什么”。
填写column属性:
1 如果是一对一的话,没有这个属性,所以不考虑。(因为一对一默认的就是双方的id) 2 如果是一对多或多对一的话,就要找到属于它们的双向关联. 3 (比如本例子的parent属性和childrens属性就是一对双向的关联关系.) 4 那么该如何写它们的column属性呢? 5 首先,我们可以根据表结构来理解,因为column代表的是表的字段. 6 我们可以拿一对多来入手讲解,在一对多的关联关系中,只有一个外键,而且该外键是放在"多方"的, 7 那么我们就可以知道,其实在一对多的关联关系中
的key代表是"多方"的外键, 8 所以,我们可以给column填入"name的值+‘Id’后缀" 9 如本例中的column="parentId".(然后在把一对多的column值复制到多对一中的column中)10 如果是多对多的关联关系的话,比其它关联关系多了一个table属性和column属性,11 其中table这个属性就是中间表的名称,一般是把两张表的名称结合在一起,而且关联双方的table属性要一致.不然的话就会创建出两个不同的中间表了.12 其中
的column属性就是跟它的class名称+id后缀.13 如:
14 其中还有个column,也就是
中的column.这个column直接用本类的名称+id后缀.15 如:16
17
18
19
20
21
22
23

 

 
                
                
 
 
 
 

转载于:https://www.cnblogs.com/JamKong/p/4555530.html

你可能感兴趣的文章
犀牛书阅读手记
查看>>
web项目的WEB-INF目录使用说明
查看>>
GitHub Page+Hexo+nexT 搭建个人博客
查看>>
请求和响应
查看>>
除了画佩奇我们还要玩点更高级的
查看>>
手把手教你写一个Java的orm框架(3)
查看>>
EMQ X Meetup-深圳站
查看>>
ZooKeeper系列(1)--分布式系统的基石
查看>>
浮动布局和清除浮动
查看>>
关于slice()、substr()、substring()方法
查看>>
['1','2','3'].map(parseInt)的返回值是什么?
查看>>
引入iconfont图标-微信小程序
查看>>
权限(适用于初学者)
查看>>
startService过程
查看>>
内容创业转舵
查看>>
leetcode 120 三角形最小路径和
查看>>
圣杯布局进阶版-flex布局实现
查看>>
《速度与激情》范迪塞尔代言!雅迪和高端“死磕”到底
查看>>
LLDB 知多少
查看>>
淘宝、网易移动端 px 转换 rem 原理,Vue-cli 实现 px 转换 rem
查看>>