同时在面向对象软件和关系型数据库进行工作,可能会非常复杂和费时。数据在对象和数据库之间可能会不一致,然后导致开发成本会非常高。

Hibernate 是一个针对 Java 环境的对象关系映射(Object/Relational Mapping (ORM))。对象关系映射的定义为从技术上在数据模型和关系数据库模型之间进行映射。请参考 http://en.wikipedia.org/wiki/Object-relational_mapping 来获得更高层次的讨论。同时,Martin Fowler 的 OrmHate 文章讨论了很多映射不吻合的问题。

尽管在使用 Hibernate 的时候不需要你具有很强的 SQL 背景,但是具有一些对 SQL 和相关概念的的基本了解能够帮助你更加快速和全面的理解 Hibernate。对数据模型(data modeling)原理的了解对使用 Hibernate 非常重要。http://www.agiledata.org/essays/dataModeling101.html 和 http://en.wikipedia.org/wiki/Data_modeling 能够帮助你从开始了解数据模型的原理。

Hibernate 对 Java 类到数据库表中的映射进行实现,同时也实现了 Java 数据类型到 SQL 数据类型。更进一步,Hibernate 能够对数据进行查询和检索。Hibernate 能够显著的减少针对 SQL 和 JDBC 的手动数据处理。Hibernate 的目标是通过尽量减少针对 SQL 和 JDBC 需要的手动操作,来减少 95% 的通用数据持久性相关程序开发任务。与其他持久性解决方案不同的是,Hibernate 并不隐藏 SQL 的强大功能,并保证你对关系技术和知识的投资与往常一样并有效。

Hibernate 可能不是针对数据中心的最佳解决方案。数据中心的意思是在数据库中实现所有的商业逻辑。Hibernate 针对面向对象域模型和基于 Java 中间层的商业逻辑非更有效率。Hibernate 能够帮助你删除和封装供应商特定 SQL 代码和简化从返回结果集从表格展示转换为对象。

如果你希望参与项目,请参考 http://hibernate.org/orm/contribute/ 链接。

针对本指南参考可用的项目和代码请参考 hibernate-tutorials.zip 中的内容。

https://www.cwiki.us/display/HIBERNATE/Preface

Hibernate 5 开始使用指南前言的更多相关文章

  1. ALinq Dynamic 使用指南——前言

    一.简介 ALinq Dynamic 为ALinq以及Linq to SQL提供了一个Entiy SQL的查询接口,使得它们能够应用Entity SQL 进行数据的查询.它的原理是将Entiy SQL ...

  2. SpringMVC学习指南-前言

    SpringMVC是Spring框架中用于Web应用快速开发的一个模块. SpringMVC基于Spring框架.Servlet和JSP. ------------------------------ ...

  3. Hibernate 5 入门指南-基于映射文件

    由于Hibernate 4版本混乱,Hibernate 3有些过时,Hibernate 5的开发文档尚不完善,所以构建一份简单的Hibernate 5的入门指南 注:案例参考Hibernate 官方参 ...

  4. Spring Boot 2.0 升级指南

    Spring Boot 2.0 升级指南 前言 Spring Boot已经发布2.0有5个月多,多了很多新特性,一些坑也慢慢被填上,最近有空,就把项目中Spring Boot 版本做了升级,顺便整理下 ...

  5. Microsoft Orleans 之 入门指南

    Microsoft Orleans 在.net用简单方法构建高并发.分布式的大型应用程序框架. 原文:http://dotnet.github.io/orleans/ 在线文档:http://dotn ...

  6. Chrome 控制台实用指南【转】

    转自伯乐在线. Chrome 控制台实用指南 前言 Chrome浏览器我想是每一个前端er必用工具之一吧,一部分原因是它速度快,体积不大,支持的新特性也比其它浏览器多,还有一部分我想就是因为它的控制台 ...

  7. OpenCV 编码样式指南

    OpenCV 编码样式指南   前言 本文档是对OpenCV中代码风格的简短说明,因为OpenCV的核心库(cv,cvaux)是用C和C++编写的,所以本文档仅对用C和C++代码的编写有效.   文件 ...

  8. [转]JavaScript ES6 class指南

    [转]JavaScript ES6 class指南 前言 EcmaScript 2015 (又称ES6)通过一些新的关键字,使类成为了JS中一个新的一等公民.但是目前为止,这些关于类的新关键字仅仅是建 ...

  9. Ext JS 6学习文档–第1章–ExtJS入门指南

    Ext JS 入门指南 前言 本来我是打算自己写一个系列的 ExtJS 6 学习笔记的,因为 ExtJS 6 目前的中文学习资料还很少.google 搜索资料时找到了一本国外牛人写的关于 ExtJS ...

随机推荐

  1. 【Python基础】03_Python中的命名和关键字

    1.Python中的关键字: ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', ...

  2. 从入门到自闭之Python--Redis

    什么是Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库.Redis全称为:Remote Dictionary Server ...

  3. JavaScript的几种循环方式

    JavaScript提供了许多通过LOOPS迭代的方法.本教程解释了现代JAVASCRIPT中各种各样的循环可能性 目录: for forEach do...while while for...in ...

  4. Java super与this

    一.super()与this() 1.super(): 只能出现在子类构造器中 且必须位于第一行. 所有子类构造器默认调用super()方法 参数决定使用父类哪一个构造器. 若父类没有相应的构造器,则 ...

  5. jquery选择器 模糊查找

    $("input[class^='combo-text']").attr("readonly", "readonly"); 查找包含‘com ...

  6. C#选择文件保存路劲

    private void button8_Click(object sender, EventArgs e) { FolderBrowserDialog dialog = new FolderBrow ...

  7. webpack配置不同打包配置

    生成环境与开发环境打包配置 使用package.json配置npm run开启不同的打包配置 ...webpack基本使用最后一篇博客 在上一篇博客中详细的演示了webpack开启本地服务和热更新,这 ...

  8. Cannot assign to read only property 'exports' of object at webpack ....BaseClient

    网上找了很多资料说是import和export不能一起用,改代码 其实根本原因是es6和es5混合使用造成的兼容性问题 只需要配置.babelrc就可以了 首先安装 npm install -D tr ...

  9. Hive的日志操作

    想要看hive的日志,我们查看/home/hadoop/hive/conf/hive-log4j2.properties # list of properties property.hive.log. ...

  10. PotPlayer直播源分享

    添加直播源方法: 央视CCTV1综合HD-1,rtsp://113.136.42.45:554/PLTV/88888888/224/3221226087/10000100000000060000000 ...