5 -- Hibernate的基本用法 --1 2 基本映射方式
ORM工具提供了持久化类和数据表之间的映射关系。实际上,所有的ORM工具大致上都遵循相同的映射思路,ORM基本映射有如下几条映射关系:
⊙ 数据表映射类 : 持久化类被映射到一个数据表。程序使用这个持久化类来创建实例、修改属性、删除实例时,系统会自动转换为对这个表进行CRUD操作。
受ORM管理的持久化类(就是一个普通Java类)对应一个数据表,只要程序对这个持久化类进行操作,系统就可以转换成对对应数据表的操作。
⊙ 数据表的行映射对象(即实例) : 持久化类会生成很多实例,每个实例就对应数据表中的一行记录。当程序在应用中修改持久化类的某个实例时,ORM工具会转换成对对应数据表中特定行的操作。
⊙ 数据表的列(字段)映射对象的属性:当程序修改某个持久化对象的指定属性时(持久化实例映射到数据行),ORM将会转换成对对应数据表中执行数据行、执行列的操作。
基于这种基本的映射方式,ORM工具可完成对象模型和关系模型之间的相互映射。由此可见,在ORM框架中,持久化对象是一种中间媒介,应用程序只需操作持久化对象,ORM框架则负责将这种操作转换为底层数据库操作 ------ 这种转换对开发者透明,无须开发者关心,从而将开发者从关系模型中释放出来,使得开发者能以面向对象的思维操作关系数据库。
啦啦啦
5 -- Hibernate的基本用法 --1 2 基本映射方式的更多相关文章
- 5 -- Hibernate的基本用法 -- 要点
Hibernate的基本用法 ⊙ ORM的基本知识 ⊙ ORM和Hibernate的关系 ⊙ Hibernate的基本映射思想 ⊙ Hibernate入门知识 ⊙ 使用Eclipse开发Hiberna ...
- Hibernate 注解的用法以及说明(二)
注解映射必须满足两大条件:Hibernate3.2以上版本和JSEE 5. @Entity 类注释,所有要持久化的类都要有@Entity public class Org implements ...
- Hibernate的Criteria用法
在hibernate的Session里面使用createCriteria可以创建一个Criteria实例帮助我们进行条件查询,不用自己串hql语句,很方便. 用法很简单,首先传Class实例创建Cri ...
- Hibernate的 Restrictions用法
方法说明 方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge ...
- Hibernate 注解的用法以及说明
1.类级别注解 @Entity 映射实体类 @Table 映射数句库表 @Entity(name="tableName") - 必须,注解将一个类声明为一个实体be ...
- Hibernate.initialize(Obj)用法
导读: 在使用hibernate进行持久化时,有时需要动态的改变对象的加载,比如在编辑页面里面lazy=true,而在浏览页面lazy=false,这样可以在需要lazy的地方才进行控制.而配置文件 ...
- Hibernate核心类用法-使用Transaction管理事务
一个典型的事务应该使用下面的形式 在创建完Session对象后即使用beginTransaction()启动事务 从此开始直到commit()之间的代码 都会处于同一个事务中 这两个函数之间所有的数据 ...
- hibernate的like用法(用占位符解决)
原本我的写法:Query repeatClientQuery=querysession.createQuery("from ClientInfo as a " +"whe ...
- Hibernate的Restrictions用法
Restrictions.eq --> equal,等于. Restrictions.allEq --> 参数为Map对象,使用key/value进行多个等于的比对,相当于多个Restri ...
随机推荐
- 【linux】——一个小程序
利用工作之余为小伙伴写了份作业,关于进程间通信的.题目如下: 父进程从键盘上接受1000个数据,对其求和sum1,子进程对这1000个数平方和sum2,结果传给父进程,父进程将sum1+sum2后,打 ...
- SpringBoot 中 @RequestBody的正确使用方法
SpringBoot 中 @RequestBody的正确使用方法 最近在接收一个要离职同事的工作,接手的项目是用SpringBoot搭建的,其中看到了这样的写法: @RequestMapping(&q ...
- PHP 共享内存使用与信号控制
共享内存 共享内存的使用主要是为了能够在同一台机器不同的进程中共享一些数据,比如在多个 php-fpm 进程中共享当前进程的使用情况.这种通信也称为进程间通信(Inter-Process Commun ...
- 动态规划--最长上升子序列(Longest increasing subsequence)
前面写了最长公共子序列的问题.然后再加上自身对动态规划的理解,真到简单的DP问题很快就解决了.其实只要理解了动态规划的本质,那么再有针对性的去做这方的题目,思路很快就会有了.不错不错~加油 题目描述: ...
- 关于 C# 十进制不足补位的应用
看下面图的应用(我们平常的一些自定义主键增加): 补位应用知识: D十进制 不足几位前面补0 基于这个我们可以得到上面结果 //最大編號 string maxNo = string.Empty; // ...
- Selenium常用操作汇总二——如何得到弹出窗口
在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理了处理了几种方法,详见:http://seleniumcn.cn/read.php?ti ...
- 用python读取stata文件及写入and注意事项
读取: 由于stata没有专门模块,是从pandas里面调用,官方文档少之又少,故去查看源代码 #!/usr/bin/env python# -*- coding:utf-8 -*- from pan ...
- 第三百五十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—chrome谷歌浏览器无界面运行、scrapy-splash、splinter
第三百五十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—chrome谷歌浏览器无界面运行.scrapy-splash. splinter 1.chrome谷歌浏览器无界面运行 chrome ...
- 在Asp.net WebAPI使用Session
最近在改写WebApp时要将以前用泛型处理例程写的Captcha 改成使用WebApi 来实作机制,在实作的过程中发现使用IRequiresSessionState session也无法使用(cont ...
- (转)Android 5.1.1 源码目录结构
转自:http://blog.csdn.net/tfslovexizi/article/details/51888458最近公司培训新同事,我负责整理一点关于android的基础知识,遥想当年,刚接触 ...