Hibernate官方文档学习之重要概念(持续更新中)
来源:互联网 发布:js 判断一个元素在列表 编辑:程序博客网 时间:2024/05/16 06:29
自动脏检查: Hibernate会自动检测到集合已经被修改并需要更新回数据库。这叫做自动脏检查(automatic dirty
checking),你也可以尝试修改任何对象的属性,只要他们处于持久化状态,也就是被绑定到某个Hibernate的Session上(如:他们刚刚在一个单元操作被加载或者保存),Hibernate监视任何改变并在后台隐式写的方式执行
SQL。
清理缓存: 同步内存状态和数据库的过程,通常只在单元操作结束的时候发生,称此过程为清理缓存(flushing)。在我们的代码中,工作单元由数据库事务的提交(或者回滚)来结束——这是由CurrentSessionContext类的 thread配置选项定
义的。
SessionFactory(org.hibernate.SessionFactory) 针对单个数据库映射关系经过编译后的内存镜像,是线程安全的(不可变)。它是生成Session的工厂,本身要用到ConnectionProvider。该对象可以在进程或集群的级别上,为那些事务之间可以重用的数据提供可选的二级缓存。
Session (org.hibernate.Session)表示应用程序与持久储存层之间交互操作的一个单线程对象,此对象生存期很短。其隐藏了JDBC连接,也是Transaction的工厂。?其会持有一个针对持久化对象的必选(第一级)缓存,在遍历对象图或者根据持久化标识查找对象时会用到。
ConnectionProvider(org.hibernate.connection.ConnectionProvider) (可选的)生成JDBC连接的工厂(同时也起到连接池的作用)。它通过抽象将应用从底层的Datasource或 DriverManager隔离开。仅供开发者扩展/实现用,并不暴露给应用程序使用。
TransactionFactory(org.hibernate.TransactionFactory) (可选的)生成Transaction对象实例的工厂。仅供开发者扩展/实现用,并不暴露给应用程序使用。
一个持久化类的实例可能处于三种不同状态中的某一种。?这三种状态的定义则与所谓的持久化上下文(persistence?context)有关。Hibernate的Session对象就是这个所谓的持久化上下文:
瞬态(transient) 该实例从未与任何持久化上下文关联过。它没有持久化标识(相当于主键值)。
持久化(persistent) 实例目前与某个持久化上下文有关联。?它拥有持久化标识(相当于主键值),并且可能在数据库中有一个对应的行。对于某一个特定的持久化上下文,Hibernate保证持久化标识与Java标识(其值代表对象在内存中的位置)等价。
脱管(detached) 实例曾经与某个持久化上下文发生过关联,不过那个上下文被关闭了,或者这个实例是被序列化(serialize)到另外的进程。?它拥有持久化标识,并且在数据库中可能存在一个对应的行。?对于脱管状态的实例,Hibernate不保证任何持久化标识和Java标识的关系。
- Hibernate官方文档学习之重要概念(持续更新中)
- JAVA核心技术卷一重要概念回顾(持续更新中)
- SLAM重要概念,通俗讲解(持续更新中)
- SAP 官方文档 地址收集 持续更新中...
- 重要知识结构-持续更新中
- Hibernate学习01【持续更新】
- MongoDB文档学习笔记(持续更新中)
- 重要的事情看三遍!!!!!(持续更新中
- 官方源、镜像源汇总--持续更新中
- 深度学习常规概念(持续更新)
- Java 各种概念总结--持续更新中
- nginx学习文档持续不定期更新
- 中文API学习文档(持续更新)
- WPS之word文档处理(持续更新)
- 微信小程序联盟:官方文档+精品教程+demo集合(未完待续,持续更新中……)
- linux学习 持续更新中
- notification学习--持续更新中。。。
- 学习笔记,持续更新中
- 自定义UINavigationBar返回按钮
- Clipboard.js实现复制文本到剪贴板功能
- 天线基础知识
- hdu 汇总題解
- selenium自动化测试资源整理(含所有版本chrome、chromedriver、firefox下载链接)
- Hibernate官方文档学习之重要概念(持续更新中)
- HEVC函数入门(11)——HM软件手册software-manual (cfg文件——帧内预测篇)
- eclipse运行go文件,报错“Resource donesnt have a corresponding Go paceage.”
- 【caffe】mnist数据集lenet训练与测试
- Linux下查看进程占用带宽、CPU计算压力
- Codeforces Round #382 (Div. 2) A. Ostap and Grasshopper
- Cloud Computing Key Terms
- Android 软键盘交互
- 初学php