Hibernate入门(一)

一、一些基本概念

 

1ORMObject Relational Mapping

         对象关系映射,是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。

2、中间件

         中间件是在应用程序和其他软件系统之间的连接管道。其中Hibernate就可以看成是连接java应用和关系数据库的管道。

3、持久化层

        我们以前学的三层结构中,业务逻辑层不仅负责业务逻辑,而且要直接访问数据库,提供对业务数据的增删改查的操作,为了把数据访问细节和业务逻辑分开,可以把数据访问作为单独的持久化层。如图:

4、域模型,数据模型

        在软件开发领域,模型用来表示真实世界的实体。在软件开发的分析阶段,需要创建概念模型,在设计阶段,要创建域模型和数据模型。如图所示,展示了这三个模型的关系:

5、对象持久化

    对比前面的域模型和数据模型,可以看出业务数据的两种表现形式:

  • 在内存中表现为实体域对象,以及实体域对象之间的各种关系;
  • 在关系数据库中表现为表,以及表于表之间的参照关系。

        内存无法永久的保存数据,所以当java程序在内存中创建实体域对象后,要么从内存中清除,要么被持久化到数据存储设备中。而一旦对象被持久化,它们可以在应用程序再次运行时被重新读入到内存,并且重新构造出域对象。

Hibernate位于持久化层,是域模型和关系数据模型之间的桥梁。

 

6Hibernate是什么?

所以,说了这么多,Hibernate到底是什么,你可以理解为HibernateORM实现的一种工具

 

二、Hibernate工具

 

        刚开始接触Hibernate,必然会接触到hbm2javahbm2dll这两个概念。我们可以先看一张图:

 

如图所示,它们的作用是作为实体域和关系数据域之间转换的桥梁

1hbm2java——根据映射文件自动生成Java源文件

2hbm2dll——根据映射文件自动生成数据库Schema

 

          Hibernate提供的这两个工具能够简化软件开发过程,但是在实际应用中,如果室友hbm2javahbm2ddl工具生成的java源文件和数据库通常只能作为初稿,还需要根据实际需求,对Java源文件和数据库Schema进行相应修改,以适应实际需要。

 

三、小结

 

        本篇博客主要是针对最基本的概念做了一些解释,算是Hibernate的一个最初入门,后续会不断深入,敬请期待吧!

 

根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值