- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
hibernqte积累知识点
设置外键
group:id,name
student:id,name,g_id
想让哪方有外键就把@JoinColum(name=外键名称/即:主表id)注解在哪方(即:从表中)
private Student 引用名;//省略get,set方法
在getter方法上面进行注解@manytoone @joinColumn(name=)
2.设置级联属性
在拥有外键的表(即student实体中)对应的实体的一端书写cascade=CascadeType.ALL属性,然后进行session.seve(student)时,就可以进行级联,而不必须去关心另一个实体的cascade=CascadeType.ALL属性
3
一对多:
只有一对多是把joincolumn写在多的一方,其他一对一或者多对多可以随便写
3.
多对多:
1.cascade=CascadeType.ALL级联属性和joincolumn要写在同一个类中,但是不能写joincolumn,不能写joincolumn,只能写jointable
Eg:@JoinTable(name=t_s,
joinColumns={@JoinColumn(name=s_id)},
inverseJoinColumns={@JoinColumn(name=t_id)}
)15:24 2012/3/13
5.目前,持久化规范要求多的一方为关系维护端,一的一方为关系被维护端,可以再one方的@onetomany注释设置mappedBy属性,以指定它是这一关联关系的被维护端,many方为关系维护端。
mappedBy的功能为:不用再在这方再重新建立连接,一切遵从另一方,这样可避免冗余
关于mappedBy的含义:
1.只有onetoone,onetomany,manytomany上才有mappedBy属性,manytoone不存在该属性。
2.mappedBy标签一定是定义在the owned side(mappedBy为被拥有方。被拥有方的),他指向the owning side(拥有方)。
3.mappedBy的含义,应该理解为,拥有方能够自动维护跟被拥有方的关系
当然,如果从被拥有方,通过手工强行来维护拥有方的关系也是可以做到的
4.mappedBy跟joincolumn、jointable总是处于互斥的一方,可以理解为正是由于拥有方的关联被拥有方的字段存在,拥有方才拥有了被拥有方
。mappedBy这方定义的joincolumn/jointable总是失效的,不会建立对应的字段或表。
6.
1.拥有外键的是主表,主表里面有一个字段指向从表里面的主键,所以删除时只能删除主表(student),才能删除从表(group),不然从表不能删除。
2.一对一关联可能是双向的.在双向关联中, 有且仅有一端是作为主体(owner)端存在的:主体端负责维护联接列(即更新). 对于不需要维护这种关系的从表则通过mappedBy属性进行声明. mappedBy的值指向主体的关联属性. 在上面这个例子中,mappedBy的值为 wf.最后,不必也不能再在被关联端(owned side)定义这列了,因为已经在主体端进行了声明.
4.如果在主体没有声明@JoinColumn,指定外键的名称,则系统自动进行处理: 在主表(owner table)中将创建联接列, 列名为:主体的关联属性名+下划线+被关联端的主键列名.
9.mappedBy的功能为:不用再在这方再重新建立连接,一切遵从另一方,这样可避免冗余
(1).设置外键
想让哪方有外键就把@JoinColum(name=外键名称/即:主表id)注解在哪方(即:从表中)
private 主表类名 引用名;//省略get,set方法
在get方法上面进行注解@manytoone @joinColumn
(2).设置级联操作方
级联来保存多方数据,你想通过哪方来保存数据,则在哪方处理关联关系,
并设置cascadeType=CascadeType.ALL 和 fetch=FetchType.Lazy
(3)@JoinColum cascadeType=CascadeType.ALL 和 fetch=FetchType.Lazy 三者在一起 ------有外键,从表
mappedBy(name=) ------主表
mappedBy(name=) 与 @JoinColum 不能放在一起,即:分别放在有关系的两个实体中
(4)
/*
* 级联保存
*
* 想通过哪方来级联保存数据,则在哪方设置关联关系,并设置级联
*
* 在stu
您可能关注的文档
- extreem交换机常用维护命令.doc
- 学生综合素质评价问题和对策.doc
- 学籍系统应常用见问题20140605.doc
- 学科渗透法制教育体育和健康教案对抗.doc
- ExportTrqde进出口贸易.doc
- 学美留学观察.深度解析留学之医学.docx
- E佳艺电子务商平台.doc
- 学科教育心学理答案之三.docx
- 学科知识内在容考试中所占分值.doc
- E典批量打快印速发货.doc
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)