hibernate映射学习

最近温故了一下hibernate的映射,映射也就是OR中的o即对象之间的关系转换为r为关系型数据库,总结如下,也许有我理解不正确的地方:

   多对一:比如多个user对应一个group,在多的一端的hbm配置需设置<many-to-one>在pojo中需定义私有的group并实现其set和get方法。在db中需要设置user的外键为groupid。其中如果没有设置many-to-one的cascade需先save group到peisistent状态,而不能是tranisent状态。但是如果设置了cascade 为all、save update等时,在保存user的时候会自动save group

   one-to-one:(示例采用person(人) idcard(身份证))

             1、单向主键one-to-one:person hbm中的主键生成方式为foreign,并设置其param,具体设置可以看hibernate源代码,这个默认实现了cascade,加上<one -to-one>

             2、双向主键one-to-one:在单向主键one-to-one的基础上idcard hbm中加入<one -to-one>

             3.单向外键many-to-one:和之前的many-to-one没啥区别,只是多了一个unique="true"

             4双向外键many-to-one:idcard hbm中many-to-one指定column 为person外键

你可能感兴趣的:(Hibernate)