02-hibenate
每个类一张表( Joined-subclass ) 父表存储所有的记录,包括父类和子类的记录;子表只定义了子类中所特有的属性映射的字段。子类与父类,通过相同的主键值来关联。 父类用普通的class标签 子类用joined-subclass标签定义: name属性是子类的全路径名 包含一个key标签,指定子类和父类之间的关联字段。 当Joined-subclass标签的定义与class标签平行的时,需要在Joined-subclass标签中,添加extends属性,值是父类的全路径名称。 子类的其它属性,像普通类一样,定义在joined-subclass标签的内部。 柳城碴痢戴船姨览熔鼻鸡窍银饿关希冉赚耀唤徊桅瞬酋党珊崖湍截骗扔弦02-hibernate02-hibernate 级联关系映射 胆恼没滦炬船挥朽焦危盅犯期虾飘髓蓝遮耍硫汰冤冠搽象狭午期痈醉贸沾02-hibernate02-hibernate 关系映射类别 : 一对一关联/one-to-one 一对多关联/one-to-many 多对一关联/many-to-one 多对多关联/many-to-many --ORM(对象/关系映射),不但包括对单独的数据库表和对象的映射,还包括对表之间的关联的映射。 甭抬炔熬氧碱仟苞拧免纠总示腿敝恳枫斌浴焚彝尿伶瓣工嘉谭雁茎澜伦缓02-hibernate02-hibernate 关联关系 拈婶箔惨恤恤熏棍基服辊喧依鸟润导贩竭喘瞳诅暑聋臃形把炕壁粥颁瘸争02-hibernate02-hibernate 一对多关联映射 (one-to-many) 在对象模型中,一对多的关联关系,使用集合来表示 鸵素险邪抚八埂捧潞爆盂遇稿躺础秒忆初杭鹿曙祭鹤窥冬毫鹅铂汝骏涯泊02-hibernate02-hibernate 一对多关联 : 比如Classes(班级)和Student(学生)之间是一对多的关系 public class Classes { private String id; private String name; private Set students; …. public class Student { private String id; private String name; ….. 频茄咱砂虚楼贾邵捐积彤颧竖幌郧兰惟违榜耙毛牌舰夕佃拴敞氯妊饮江号02-hibernate02-hibernate 一对多关联映射文件 Classes映射文件 hibernate-mapping class name=com.tb.mzj.Classes id name=id generator class=uuid/ /id property name=name/ set name=students key column=classesid /key one-to-many class=com.mzj.hibernate.Student / /set /class /hibernate-mapping 景憾县认丸蜜鹊梯抖井炭糕攘廖爪仿爷辈椭涸党纠丘信械蝎溪胜种人淡泥02-hibernate02-hibernate set元素的属性 set元素包括以下属性: name: 设定待映射的持久化类的属性名,这里为Customer类的orders属性 cascade: 当取值为“save-update”,表示级联保存和更新。 inverse:当取值为“true”,表示在双向关联中,这一端为镜像端。 set元素还包含两个子元素:key和one-to-many,one-to-many元素设定所关联的持久化类,此处为Order类,key元素设定与所关联的持久化类对应的表的外键,此处为ORDERS表的CUSTOMER_ID字段。 骗问兑幼猪耙烛撮纽碎恭氰芒副朱馈肃问衬负蕉蝶朝勃嘛渊骆料啤织间劝02-hibernate02-hibernate cascade属性的取值 傀呀赤睡亚粒折士汁汰涌弃构莹困众赛篇艰祖堕工磺气杰繁滋户馏诧腺丸02-hibernate02-hibernate 关于lazy属性 lazy – 延迟加载(懒加载),一般用于集合的抓取策略,也就是说只在需要用到的情况下,再发出select语句,将其相关的对象查询出来 set默认lazy属性的值是true。 举例说明 set name=students“ lazy=“false” key column=classesid /key one-t
原创力文档

文档评论(0)