Session接口
容易混淆的概念;
save()方法
将一个实例加入到缓存中。并不是在缓存中拷贝一份这个实例。
所以当一个实例由临时对象或者游离对象转为持久化对象后,地址不变。
将任何一个实例转入持久化对象这个过程:
1.将对象的OID赋新值。
2.将对象加入缓存。
merge()方法
当缓存里已有一个对象时,此时将一个游离对象(两者OID相同)update,/;会报错。
必须用merge方法.
update()方法
先决条件,对象不能是已经在缓存中有相同OID的游离对象。否则用merge方法。
<class select-before-update="true/false">属性意义
更新前先select一下,看看哪些属性更新了。没有则不更新。用在不经常变动的类。
在做双向关联时,在session内先做一个一对多关联,此时这只是在缓存做了一对多关联。所以这时想要反查,多对一,则查询不到,除非再做多对一,可以查到。要么就是做完一对多时,关闭session,让数据入库,再打入session查多对一,这时数据出来了。
所以对于session里的操作,大家一定要脑子时刻清楚,这只是对内存操作,而不是数据库。
关联的概念
孙卫琴说的好,关系数据库只有多对一的概念。一对多是多对一的双向关联。
所以必须先 many-to-one,才能 one-to-many。由于在hibernate里,类即是表 的概念,所以关联以实体类做外键。
外键的定义先要弄清楚,百度知道上是这么写的。
如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。
外键的作用:
保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!
这段话用hibernate来配置是这样:
<one-to-many name>
<key column="从表中的外键字段">
<class name="从表" />
</one-to-many>
分享到:
相关推荐
Hibernate基础知识演示代码
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java开发人员可以随心所欲的使用对象编程思维来操纵数据库。
NULL 博文链接:https://springrisingsun.iteye.com/blog/477718
SSH基础知识之Hibernate,hibernate,spring,struts,ssh
Hibernate:使用Hibernate开发企业级应用持久层
学习hibernate基础知识,很实用,适合初学者
hibernate 基础知识,对快速入门很有帮助
使用了一些简单的hibernate基础,一个简单的idea项目,搭建了hibernate环境,适合刚刚学习hibernate的初学者参考
Hibernate 文档 包含Hibernate基础知识 里面内容丰富 适合初级学习Hibernate的人用 谢谢!!!
13.1 Hibernate 基础知识 13.2 DataBase Explorer 透视图 13.3 Hibernate 应用实例 第14章 Spring框架及其应用 14.1 Spring 基础知识 14.2 Spring框架应用实例 14.3 Spring 和 Hibernate 组合开发实例 第15章 ...
第一次传,不知道好不好?hibernate基础知识
Spring和Hibernate的整合基础知识,用idea搭建,数据库需要自己修改,参考实体类
Hibernate基础知识,已实例的方式展现了hibernate的精髓,让我们从云里雾里的概念中脱离出来,从实战所需的角度来分析hibernate。
Hibernate框架的介绍,基础知识的介绍
Hibernate 入门知识
关于SSH框架开发Web网页的一部分,JSP与Hibernate的基础知识介绍
讲述Hibernate的基础知识的文档,用于初学者.pdf
hibernate基础教程 理解O/R Mapping原理 掌握Hibernate开发的相关知识 能使用Hibernate进行实际项目开发
该文档详解hibernate每一章节知识要点,重在基础,是初级版教学!
Hibernate相关知识介绍,基本涵盖了大部分的知识点,PPT形式课件