hibernate 中session的总结
来源:互联网 发布:打马赛克软件 编辑:程序博客网 时间:2024/05/18 02:15
session具有缓存,每一个持久化状态的对象都被纳入到session的缓存中。不同session的缓存空间是不一样的。数据库中的一条记录在一个session中只能对应一个对象,不同的session可以有不同的对象对应数据库中的同一条记录。session缓存清理时会调用session.flush方法,在三种情况下会调用该方法:1.在执行事务提交时,如果flush模式不为NEVER,commit()将调用flush;2.在某些查询语句之前(防止查到的数据不是最新的);3.在程序强制调用session.flush时。
hibernate中对象有三种状态:临时、持久和脱管状态。对于new的对象处于临时状态;通过save或saveOrUpdate方法持久化的对象或者查找出来的对象处于持久状态;session关闭后对象处于脱管状态。
区分对象可以根据内存地址或者对象携带的信息。以内存地址为依据时,使用“==”;以对象携带信息为依据时,使用Object.equals(Object anotherObject)方法。
对象关联关系有一对一、多对一、一对多和多对多,其中多对一和一对多方法比较常见。一对一关系有两种方式:以主键关联和一外键关联。一对多和多对一通常应设置为双向关联,并在“一”这一方设置inverse=“true”(比如一个班级对应多个学生,在班级这一边设置inverse=“true”)。多对多需要第三张表来保存两个实体间的关系。
Hibernate检索策略有立即检索、延迟检索、预先抓取、批量立即检索和批量延迟检索。对于末端为“一”(一对一和多对一)的关联,一般设置为预先抓取,对于末端为“多”(一对多和多对多)的关联,设置为延迟检索。
按照检索策略的优先权,按从大到小排序入下:HQL>预先抓取>立即或延迟。HQL语句将忽略第一层的预先抓取,但延迟检索的配置对HQL的检索仍有影响;附属层始终采取配置未见设置的检索策略。
- hibernate 中session的总结
- Spring+Hibernate中session如何断开,总结
- hibernate中session接口方法总结
- hibernate中session接口方法总结
- hibernate中session接口方法总结
- hibernate中session接口方法总结
- Hibernate中session的用法
- Hibernate中Session的管理
- Hibernate中session的操作
- Hibernate中session的使用
- Hibernate的学习总结(Session对象)
- hibernate框架的session接口方法总结
- 【学习笔记】Hibernate中对象的状态和转换以及Session的主要方法总结
- hibernate中session的flushMode的区别
- Hibernate中Session的操作解释
- Spring中获得Hibernate Session的方法
- Spring中Hibernate的session如何断开
- Spring中关于hibernate的session
- 编程修养 阅读笔记四
- C++中的文件输入/输出
- EXT4.0最新最全视频教程及源代码
- c语言可变参数
- Android 控件布局常用属性
- hibernate 中session的总结
- Oracle中dual表的用途
- 可以让你少奋斗10年的工作经验
- Android调试工具及方法
- Windows CE 6.0操作系统的特色及其应用
- js常用正则表达式
- Android小技术
- TIB自动化测试快讯 -- 自动化测试空间一周精选(2011-12-18)
- 指向成员函数的指针