Hibernate关联映射之多对一
在前面的一篇博文中有写到一对多的关系映射,本来打算把一对多和多对一一起写了的,原谅我的肚子饿了。。。去吃了个饭。
进入正题,来说Hibernate关联映射之多对一,先上图吧~看一看区别。
多对一:
图一:Street.java(未修改)
图二:Street.java(已修改)
在这里大家可以看到我将Street.java中的实体对象重新定义了,在这里注意一下,Internet districtId的get和set方法删掉,重新将District district的get和set方法写进去。
图三:String.hbm.xml (未修改)
图四:String.hbm.xml (已修改)
大家可以很明显的看到这两张图片第一张少了什么,第二张多了什么,注意的是此时是多对一关系<many-to-one>,对照着将文件配置好,那么就可以实现街道对区县的操作了,也就是根据街道ID查询所在的区县,这个时候我提一个问题,如果删除区县,街道会不会被删除?这个问题我先不说答案,在接下来的一篇博文中将会揭晓。
总结:多对一关系的设置:(在“多方”进行设置)
1、在“多方”定义“一方”实体对象属性
2、在映射文件中定义<many-to-one name="一方的实体对象属性" class="一方的类路径" column=''外键列'>
在上一篇博文中有说道Column比较特殊,细心的朋友有木有发现,其实两个XML文件中Column都是一样的,在我这个例子中都是Column=“DISTINT_ID”,那么注意了,Column中填的是外键。
THE END