版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多种类型映身寸create table customers(id bigi nt not null primary key,-l ongn ame varchar(15) not n ull,email varchar(128) not n ull,password varchar(8) not n ull,phone int,address varchar(255),sex char(1),is_married bit,-boolean 类型description text,-String 类型image blob,-大容量体积存放图片二进制代码private byteimage;birth
2、day date,-java.util.dateregisteredtime timestamp- 时 间 戳 private Timestamp registeredTime;);HQL语句类似于SQL语句不过里面查询的不是表名和列名而是类名和类中的变量名customersList =session.createQuery(from Customers as c order asc)ist();-不选全部则不能返回customers集合表与表的关联一对多Teacher表create table Teacher( id big int not n ull, n ame var
3、char(15), primary key(id);Stude nt 表create table Stude nt(id big int not n ull,n ame varchar(15), teacher_id bigi nt not n ull, primary key(id);倘若平时在数据库中我们要人为加入外键约束Alter table Student add constraint fk_customer_id foreignkey(teacher_id) refere nces Teacher(id);Teacher 类中private Set stude nts;映射文件中在多
4、的一方 stude nt类中private Teacher teacher;v/ma ny-to-one那么只要双方关联t.getStudents().add(s1);t.getStude nts().add(s2);sl.setTeacher(t);s2.setTeacher(t)在 session.save(teache时候Hiber nate: insert into teacher (n ame, id) values (?, ?)Hiber nate: in sert into stude nt (n ame, teacher_id, id) values (?, ?, ?)Hibe
5、r nate: in sert into stude nt (n ame, teacher_id, id) values (?, ?, ?)同时把相关联的student也插入数据库如果只保存学生而不保存老师必然出错因为Teacher没插入到数据库还是临时对象没有id此时Student内的teacher没有id,stude nt必然无法插入到数据库(没有teacher_id)如果没有s1.setTeacher(t);s2.setTeacher(t)则运行报错则往数据库里插入student记录时无法通过s1.getTeacher().getld()得到teacher_id值自然就无法插入如果没有
6、t.getStudents().add(s1);t.getStude nts().add(s2);-则保存老师的同时不会保存学in verse=false-维持双方1对多的关系的维持权主控权还是在1的一方即Teache一方女口果in verse=false由一的一方维持关系Hiber nate: insert into teacher (n ame, id) values (?, ?)Hiber nate: insert into stude nt (n ame, teacher_id, id) values (?, ?, ?)Hiber nate: insert into stude nt
7、(n ame, teacher_id, id) values (?, ?, ?)Hiber nate: update stude nt set teacher_id=? where id=?Hiber nate: update stude nt set teacher_id=? where id=?如果主控方是老师那么老师的记录插入后还不知道被控方的消息主控方必须等待被控方执行完毕(即学生记录插入)然后有 了被控方消息主控方方能再一次维持和被控方的消息(意即主控方只有等被控方全部插入数据库后方能再次去更新和被控方的 关系)但是如果主控方是学生 那么首先是将被控方插入 就是老师先 插入 然后主控
8、方自然就知道被控方的所有消息那么主控方在插入数据时自然而然就和被控方建立关系不必再一次特别去更新主控方和被控方关系Cascade级联 指的是 当对Teacher一的一方做了某些事情的时 候要对多的一方相应的做些什么事情save-update-指的是更新或插入 Teache时自动更新或插入 与之关联的Student (多的一方)None:没有任何关联关系-保存或更新老师时和学生没任何关系 不再去修改任何学生记录Delete:当通过session的delete方法删除老师时自动将学生也删除all:包括 save-update 和 deleteDelete-orphan当一个学生不再有任何老师关联时删除此学生t.getStude nts().clear();-所有的学生都成了孤儿被删除All-delete-orpha n: all+delete-orpha nGet和load是针对Teache来说get时立刻去数据库查询teacherELoad不然 先返回个假对象 等你真正用到teache内部属性时 才去数据库查Lazy则针对teac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届河南省偃师市高级中学培优部生物高一上期末检测试题含解析
- 新疆阿克苏地区沙雅县第二中学2026届化学高二第一学期期末考试试题含解析
- 北京师范大学-香港浸会大学联合国际学院《大数据技术课程实践》2024-2025学年第一学期期末试卷
- 湖南省邵阳市邵东县第三中学2025-2026学年数学高二第一学期期末检测试题含解析
- 河南省中原名校2025年高二上化学期末经典模拟试题含解析
- 益阳医学高等专科学校《数字影像后期制作》2024-2025学年第一学期期末试卷
- 河南省名校大联考2025-2026学年高二生物第一学期期末质量检测模拟试题含解析
- 黑龙江八一农垦大学《新医疗技术与法》2024-2025学年第一学期期末试卷
- 山东省招远市第一中学2025-2026学年数学高二上期末复习检测模拟试题含解析
- 湖南人文科技学院《通信专业英语》2024-2025学年第一学期期末试卷
- 国际结算(第七版)课后习题答案 庞红
- 华为人力资源管理手册
- 个人证券账户管理协议三篇
- 绵阳市高中2022级(2025届)高三第一次诊断性考试(一诊)地理试卷(含标准答案)
- 数学丨湖北省圆创联盟2025届高三8月开学考暨湖北省高中名校联盟2025届高三8月第一次联合测评数学试卷及答案
- 广东省新课程标准初中理科教学仪器配备
- 6S检查表标准版2行业资料国内外标准规范
- 汽车吊机支腿反力计算及梁板受力分析
- 第十四章基因的表达与调控
- 水库大坝安全评价导则
- 点的立体构成
评论
0/150
提交评论