ORM工具提供了持久化类和数据表之间的映射关系。实际上,所有的ORM工具大致上都遵循相同的映射思路,ORM基本映射有如下几条映射关系:

  ⊙ 数据表映射类 : 持久化类被映射到一个数据表。程序使用这个持久化类来创建实例、修改属性、删除实例时,系统会自动转换为对这个表进行CRUD操作。

    受ORM管理的持久化类(就是一个普通Java类)对应一个数据表,只要程序对这个持久化类进行操作,系统就可以转换成对对应数据表的操作。

  ⊙ 数据表的行映射对象(即实例) : 持久化类会生成很多实例,每个实例就对应数据表中的一行记录。当程序在应用中修改持久化类的某个实例时,ORM工具会转换成对对应数据表中特定行的操作。

  ⊙ 数据表的列(字段)映射对象的属性:当程序修改某个持久化对象的指定属性时(持久化实例映射到数据行),ORM将会转换成对对应数据表中执行数据行、执行列的操作。

  基于这种基本的映射方式,ORM工具可完成对象模型和关系模型之间的相互映射。由此可见,在ORM框架中,持久化对象是一种中间媒介,应用程序只需操作持久化对象,ORM框架则负责将这种操作转换为底层数据库操作 ------ 这种转换对开发者透明,无须开发者关心,从而将开发者从关系模型中释放出来,使得开发者能以面向对象的思维操作关系数据库。

啦啦啦

5 -- Hibernate的基本用法 --1 2 基本映射方式的更多相关文章

  1. 5 -- Hibernate的基本用法 -- 要点

    Hibernate的基本用法 ⊙ ORM的基本知识 ⊙ ORM和Hibernate的关系 ⊙ Hibernate的基本映射思想 ⊙ Hibernate入门知识 ⊙ 使用Eclipse开发Hiberna ...

  2. Hibernate 注解的用法以及说明(二)

    注解映射必须满足两大条件:Hibernate3.2以上版本和JSEE 5. @Entity 类注释,所有要持久化的类都要有@Entity   public class Org  implements ...

  3. Hibernate的Criteria用法

    在hibernate的Session里面使用createCriteria可以创建一个Criteria实例帮助我们进行条件查询,不用自己串hql语句,很方便. 用法很简单,首先传Class实例创建Cri ...

  4. Hibernate的 Restrictions用法

    方法说明 方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge ...

  5. Hibernate 注解的用法以及说明

    1.类级别注解 @Entity     映射实体类 @Table    映射数句库表  @Entity(name="tableName") - 必须,注解将一个类声明为一个实体be ...

  6. Hibernate.initialize(Obj)用法

    导读:  在使用hibernate进行持久化时,有时需要动态的改变对象的加载,比如在编辑页面里面lazy=true,而在浏览页面lazy=false,这样可以在需要lazy的地方才进行控制.而配置文件 ...

  7. Hibernate核心类用法-使用Transaction管理事务

    一个典型的事务应该使用下面的形式 在创建完Session对象后即使用beginTransaction()启动事务 从此开始直到commit()之间的代码 都会处于同一个事务中 这两个函数之间所有的数据 ...

  8. hibernate的like用法(用占位符解决)

    原本我的写法:Query repeatClientQuery=querysession.createQuery("from ClientInfo as a " +"whe ...

  9. Hibernate的Restrictions用法

    Restrictions.eq --> equal,等于. Restrictions.allEq --> 参数为Map对象,使用key/value进行多个等于的比对,相当于多个Restri ...

随机推荐

  1. MQ调研梳理

    1.架构 主项 子项 rabbitMQ rocketMQ Kafka Hippo Tube 高可用 1:镜像队列. 2:集群.master/slave机制. HA 同步双写和异步复制均支持 (同maf ...

  2. 【React全家桶入门之十】登录与身份认证

    细致想想,我们的后台系统还没有一个登录功能,太不靠谱,赶紧把防盗门安上! SPA的鉴权方式和传统的web应用不同:因为页面的渲染不再依赖服务端,与服务端的交互都通过接口来完毕,而REASTful风格的 ...

  3. 实现JTextfield 的右键 复制、剪切、粘贴功能。

    http://leagion.iteye.com/blog/572730 ——————————————————————————————————————————————————————————————— ...

  4. ubantu linux的bash shell初接触

    本人是Linux初习者,同时也刚刚开始学习,将我的学习成长记录下来,来和大家一同分享! 我用的系统是Ubuntu 12.04,脚本编辑器用的是VIM,觉得很顺手!Shell语言用的是Bash Shel ...

  5. 【JavaScript学习】JavaScript对象创建

    1.最简单的方法,创建一个对象,然后添加属性 var person = new Object(); person.age = 23; person.name = "David"; ...

  6. ecmall数据库表详解 二次开发必备

    文章分类表ecm_acategory 字段 类型 Null 默认 注释 cate_id int(10) 否   自增ID号,分类ID号 cate_name varchar(100) 否   分类的名称 ...

  7. SAP ML 物料分类账详解(含取消激活物料帐方法)

    一.业务背景: 中国会计准则规定,对存货的核算必须采用历史成本法(即实际成本法).如果企业采用计划成本法或者定额成本法进行日常核算的,应当按期结转其成本差异,将计划成本或者定额成本调整为实际成本. “ ...

  8. unity-------------UI的界面调节

    Rect Transform 我们都知道,Unity3D中所有的GameObject都必须要携带一个Transform组件,且该组件无法移除,那么作为UI显示的GameObject则不是携带Trans ...

  9. Docker命令之 run

    docker run :创建一个新的容器并运行一个命令 语法 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: -a stdin: 指定 ...

  10. Git 基础 - 远程仓库的使用

    远程仓库的使用 要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某个项目时,需要管 ...