资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
【注解】hibernate关系映射级别注解关系映射级别注解一对一单向外键OneToOne(cascade=CascadeType.ALL)JoinColumn(name=pid,unique=true)注意:保存时应该先保存外键对象,再保存主表对象。在主控方的外键对象上进行配置,JoinColumn中配置的是外键的对应信息。主控方:被控方:测试方法:一对一双向外键主控方的配置同一对一单向外键关联OneToOne(mappedBy=card) /被控方双向关联,被控方必须设置mappedBy属性。因为双向关联只能交给一方去控制,不可能在双方都设置外键保存关联关系,否则双方都无法保存。主控方:被控方:测试方法:加深理解:一对一单向外键联合主键创建主键类主键类必须实现serializable接口,重写hashCode()和equals()方法主键类Embeddable实体类EmbeddedId测试方法:多对一单向外键多方持有一方的引用,比如:多个学生对应一个班级(多对一)ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER)JoinColumn(name=dept_id,referencedColumnName=uuid)JoinColumn中配置的是一方的对应信息。示例中相当于在UserTest的dept_id列上添加了外键约束 参考的是classroom的uuid列多方:一方:测试方法:一对多单向外键一方持有多方的集合,一个班级有多个学生(一对多)。OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY)JoinColumn(name=cid)一方:多方:测试方法:总结:多对一时候,多方设置EAGER,一方设置LAZY。一对多(多对一)双向外键多方:多方持有一方的引用。ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER)JoinColumn(name=cid)一方:一方持有多方的集合。OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY)JoinColumn(name=cid)测试方法:测试方法:测试方法:
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号