小白自学hibernate5.0文档第一季之架构篇

  果然,hibernate的底层是由JDBC实现的。      --Java Data Base Connectivity,Java数据库连接

                                                                  

  --翻译得不到位,敬请批评

  Hibernate, as an ORM solution, effectively "sits between" the Java application data access layer and the Relational Database, as can be seen in the diagram above. The Java application makes use of the Hibernate APIs to load, store, query, etc its domain data. Here we will introduce the essential Hibernate APIs. This will be a brief introduction; we will discuss these contracts in detail later.

  Hibernate作为一个对象关系映射解决方案,能够在java应用程序数据访问层和关系数据库“中间”起作用,如在上图中可以看出,Java应用程序利用Hibernate API去加载、存储、查询等其它域数据(不懂什么叫域数据),这里我们将介绍基本的Hibernate API。这将是一个简单的介绍;稍后我们将会讨论规约的细节。    

  

  As a JPA provider, Hibernate implements the Java Persistence API specifications and the association between JPA interfaces and Hibernate specific implementations can be visualized in the following diagram:

  作为JPA(Java Persistence API JAVA持久化API,小白理解其实就是@Entity,@Id,@Column等等之类的规范。)提供者,Hibernate实现Java Persistence API规范和JAP接口与HIbernate特定的实现之间的关联,能够具体化在下面的图示:

      --这关系好复杂啊

  SessionFactory (org.hibernate.SessionFactory)   ---------------  二级缓存

  A thread-safe (and immutable) representation of the mapping of the application domain model to a database. Acts as a factory for org.hibernate.Session instances. The EntityManagerFactory is the JPA equivalent of a SessionFactory and basically those two converge into the same SessionFactory implementation.

  A SessionFactory is very expensive to create, so, for any given database, the application should have only one associated SessionFactory. The SessionFactory maintains services that Hibernate uses across all Session(s) such as second level caches, connection pools, transaction system integrations, etc.

  一个线程安全(并且不可变)域模型到数据库应用程序的映射代表,实际上它是作为一个工厂的org.hibernate.Session实例。这个EntityManagerFactory 是一个JPA Sessionfactory的等价物,主要地它们两个收敛到相同的SessionFactory实现。

  去创建一个SessionFactory是非常昂贵的,所以,对于任何给定的数据库,这个应用程序应该只有一个唯一的关联--SessionFactory。SessionFactory维持Hibernate 使用所有的会话作为二级缓存的服务,连接池,事务系统集成等等。

  

  Session (org.hibernate.Session)    -----------------    一级缓存

  A single-threaded, short-lived object conceptually modeling a "Unit of Work" PoEAA. In JPA nomenclature, the Session is represented by an EntityManager.

Behind the scenes, the Hibernate Session wraps a JDBC java.sql.Connection and acts as a factory for org.hibernate.Transaction instances. It maintains a generally "repeatable read" persistence context (first level cache) of the application domain model.

  一个单例线程,短暂的对象概念建模PoEAA“工作单元”(不愧是Hibernate,费解。。)在JAP术语里,Session是一个EntityManager的代表。在幕后,Hibernate Session包装了一个JDBC java.sql.Connection和实际作为一个工厂用于org.hibernate.Transaction实例它维持一个通常的“可复读”应用域模型的持久化上下文(一级缓存)。

  Transaction (org.hibernate.Transaction)

  A single-threaded, short-lived object used by the application to demarcate individual physical transaction boundaries. EntityTransaction is the JPA equivalent and both act as an abstraction API to isolate the application from the underlying transaction system in use (JDBC or JTA).

  一个单例线程,短生命对象通过应用程序去划分个人的的物理事务边界使用。EntityTransaction是一个JPA等价物和充当一个抽象API去使应用程序从底层事务系统中使用(JDBC或者JTA)隔离

时间: 2024-10-18 22:38:38

小白自学hibernate5.0文档第一季之架构篇的相关文章

小白自学HIBERNATE5.0文档第一季之域模型

2. Domain Model The term domain model comes from the realm of data modeling. It is the model that ultimately describes the problem domain you are working in. Sometimes you will also hear the term persistent classes. 域模型一词来自数据建模的领域,它是你在工作中是最终地描述的问题领域模

自学HIBERNATE5.0文档第一季之基础类型篇

2.3. Basic Types Basic value types usually map a single database column, to a single, non-aggregated Java type. Hibernate provides a number of built-in basic types, which follow the natural mappings recommended by the JDBC specifications. Internally

Beautiful Soup 4.2.0 文档

Beautiful Soup 4.2.0 文档 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间. 这篇文档介绍了BeautifulSoup4中所有主要特性,并且有小例子.让我来向你展示它适合做什么,如何工作,怎样使用,如何达到你想要的效果,和处理异常情况. 文档中出现的例子在Python2.7和Python3.2中的执行结果相

WORD文档怎样在线从整篇英文翻译成中文的

WORD文档怎样在线从整篇英文翻译成中文的,虽然有的时候机翻不是很准确,但是在追求快速翻译来达到快速阅读的时候,可以尝试用"迅捷PDF在线转换器"进行在线翻译的操作.第一步:将需要翻译的word文件准备至桌面上,并进入浏览器内,在百度首页搜索关键词"迅捷pdf在线转换器".第二步:进入在线转换器的首页后,可以看到页面上很多关于PDF转换以及文档处理等功能选项(有需要的可以了解一下) 选择文档处理,然后再弹出的下拉框内选择"word在线翻译".第三

小白如何写需求文档

上学期在跟着网站里的学长学姐学了许多东西,假期我们需要自己做一套网站签到OA出来,昨天刚刚把需求文档定下,万事开头难,我把迈出的第一步记录下来,也给第一次写文档的小伙伴一些建议. 第 一次写,难免无从下手,在网上查找了大量的需求文档范例,网上也有模板,不过模板上东西很多,有些我还并不太了解,也不太适用于自己我们要做的OA. 既然是需求文档,那就应该根据项目实际情况去写文档,所以我们在写文档时注重的是我们需不需要,而非和模板是否符合.接下来,是我们写文档的步骤. 1.定框架 首先要把整篇文档需要的

【PyTorch v1.1.0文档研习】60分钟快速上手

阅读文档:使用 PyTorch 进行深度学习:60分钟快速入门. 本教程的目标是: 总体上理解 PyTorch 的张量库和神经网络 训练一个小的神经网络来进行图像分类 PyTorch 是个啥? 这是基于 Python 的科学计算包,其目标是: 替换 NumPy,发挥 GPU 的作用 一个提供最大灵活性和速度的深度学习研究平台 起步 PyTorch 中的 Tensor 类似于 NumPy 中的 ndarray(这一点类似于 TensorFlow),只不过张量可以充分利用 GPU 来进行加速计算.

GameUnity 2.0 文档(三) 纸片人八方向

DirectSprite类 有别于 上篇文档出现的 AnimationSprite类 (从头播放到尾) 这个类根据 path的图,如果是 8*8 64个图 八方向,可以设置长宽和 角度 角度 代表 8 个方向. Camera2DAngle类 摄像机 旋转,2d 模仿3d 观察 遍历全身. Move2DAngle 类 八方向寻路 动画控制 //////未完,待续

GameUnity 2.0 文档(二) 纸片人系统

本想快速的 把 之前写的类库,一股脑的 给大家 ,但又觉得,如 msdn那样的 文档,并不能给 初学者 所能接受. 因为 大部分人 对 api 还是比较陌生,也不愿意 去研究和组合. 那么 今天我选用另外一种方式 来 给大家 介绍api,希望大家能学到本领. 今天我给大家 做一个纸片人系统.所谓的纸片人,大家一定不会陌生,最经典的就是 ---三国群英传 你们很难看出,其实他是 2d的,几百人混战的场面,在当时 低端的电脑下面,一点都不逊色.如今 手机 的配置,正如 过去的 低端电脑,他的处理速度

读阿里巴巴Java开发手册v1.2.0之编程规约有感【架构篇】

 不为过去蹉跎,改变当下. 为什么开篇就送这么一句话给大家,我相信很多处于1-3年码龄的哥们儿们,在平时的编码历程中编码的个性可能是多彩的,每个人都有每个人特定的风格,但是我们现在这么随意写,以后这么随意写,好没问题,但是等你离开这个公司了或者是去开发别的项目了,再等别人过来接手维护你一手写出来的这段个性十足的代码时,那么你的右眼皮时不时地就会跳,因果我就不说了~~ 所以我建议看到这篇博文的朋友们,或许你稍微改变一下你的编码风格,遵从一套好的编码规约对己对人都是有好处的.可能朋友的公司也有专门的