ORM进阶:Hibernate的优劣对照
hibernate是一种是轻量级的ORMapping框架。学过EntityFramework的。会感觉挺亲切的。
对于各种层次程序猿对数据库的设计:
小菜程序员这样做:首先考虑数据的存储,对于功能的实现,怎样方便怎样来。
至于说冗余神马的。不予考虑。
资深程序员这样做:首先设计数据库的关系模型。用工具画画ER图,或者画一下物理模型。
考虑一下关系模型。好点儿的懂得利用工具。把设计好的模型转换成数据库脚本。
然后扔数据库里。然后,在功能实现过程中,对于难以实现的功能。算啦,还是改动一下数据库。
这样好做多了。
骨灰级程序员这样做:首先分析业务需求,设计对象模型。
考虑各种多重度,维护关系等等。
考虑数据的存储性能,数据量的影响……
以上纯属…………
在面向对象的世界中,对象模型是很重要的。由于面向对象的思想使得职责更加清晰。
使用面向对象的编程。开发过程中。能够不用考虑表结构。脑子里没有表的概念。仅仅对对象进行操作。
hibernate作为持久层:
使用hibernate的优点:
、使开发者职责专一。hibernate自己封装了一套机制。通过对象模型和*.hbm.xml配置信息,自己主动的将对象模型转换成表结构。
使得开发者。仅仅关注对象,忽略表结构。面向对象的开发。
、持久层easy更换。hibernate是轻量级的持久层框架。也easy进行更换。
比方更换存储方式。仅仅须要改动*.hbm.xml文件就可以。又一次生成表结构。
而代码不用进行改动。所以使用hibernate更加easy进行转换
、提高了编码效率。使用hibernate作为持久层。省去了JDBC代码。使得业务层开发者不须要考虑数据的逻辑结构,仅仅关心业务的数据实体。
Hibernate的缺点:
、不灵活。
既然操作的都是对象,相比与使用传统的sql语句来说。不方便。
、实现复杂。
并且非常多复杂的查询sql语句,非常难用hibernate进行查询。所以对于程序的调优来说有困难。
、大数据处理慢。
对象模型和关系模型的转换,将带来时间消耗。所以hibernate对大批量的数据操作还存在问题。
ORM进阶:Hibernate的优劣对照的更多相关文章
- ORM进阶:Hibernate框架搭建及开发
本节将開始.使用hibernate搭建持久层.当然在决定用不用之前,还请斟酌一下是否使用.了解一下Hibernate的优缺点. Hibernate优劣对照 Hibernate是一个持久的ORM框架.首 ...
- ORM进阶之Hibernate 的三大对象
ORM进阶之 ORM简单介绍 ORM进阶之Hibernate 简单介绍及框架搭 ORM进阶之Hibernate 的三大对象 我们在上一篇博客中讲到了怎样搭建一个Hibernate框架, 提到Hiber ...
- ORM进阶之Hibernate中对象的三大状态解析
ORM进阶之 ORM简单介绍 ORM进阶之Hibernate简单介绍及框架搭 ORM进阶之Hibernate的三大对象 ORM进阶之Hibernate中对象的三大状态解析 在Hibernatea中每一 ...
- Django中的ORM进阶操作
Django中的ORM进阶操作 Django中是通过ORM来操作数据库的,通过ORM可以很easy的实现与数据库的交互.但是仍然有几种操作是非常绕也特别容易混淆的.于是,针对这一块,来一个分类总结吧. ...
- 学习ORM框架—hibernate(三):跟踪持久化对象状态,掌握对象持久化
准备工作 在上篇博客中学习ORM框架—hibernate(一):初识hibernate,通过简单的实例说明O和R的映射过程.本篇博客将要介绍hibernate中持久化对象的状态,并使用hibernat ...
- Django orm进阶查询(聚合、分组、F查询、Q查询)、常见字段、查询优化及事务操作
Django orm进阶查询(聚合.分组.F查询.Q查询).常见字段.查询优化及事务操作 聚合查询 记住用到关键字aggregate然后还有几个常用的聚合函数就好了 from django.db.mo ...
- django框架基础-ORM进阶-长期维护
############### ORM进阶---contenttype ################ 设计思路: """ 路飞有两种课,专题课和学位课, ...
- ORM和Hibernate的配置方式
分层体系结构: 逻辑上一般分为三层:表述层(提供与用户交互的界面).业务逻辑层(实现各种业务的逻辑).数据库层(负责存放和管理应用的持久性业务数据). 物理上一般分为两层:物理层(每一层都运行在网络上 ...
- JPA与ORM以及Hibernate
随机推荐
- ubuntu -redis
ubentu 布置redis,基本操作和CentO感觉相差不多,主要是使用命令有所差异 mark如下: ① download ② tar -zxvf xxx.tar.gz ③ cd redis-xxx ...
- Oracle11g密码忘记处理方法
c:\>sqlplus /nolog sql>connect / as sysdba sql>alter user 用户名 identified by 密码;(注意在这里输入的密码是 ...
- hdu 5380 Travel with candy(双端队列)
pid=5380">题目链接:hdu 5380 Travel with candy 保持油箱一直处于满的状态,维护一个队列,记录当前C的油量中分别能够以多少价格退货,以及能够推货的量. ...
- iOS 开发百问(5)
42. 警告:Multiplebuild commands for output file target引用了名字反复的资源 找到当前的target,展开之后.找到CopyBundle Resourc ...
- 基于BP神经网络的简单字符识别算法自小结(C语言版)
本文均属自己阅读源代码的点滴总结.转账请注明出处谢谢. 欢迎和大家交流.qq:1037701636 email:gzzaigcn2009@163.com 写在前面的闲话: 自我感觉自己应该不是一个非常 ...
- django 笔记2
默默坚持 :路由系统 URL :视图 request.GET request.POST request.FILES #checkbox等多选的内容 request.POST.getlist() #上传 ...
- Hue的三大特点、三大功能和架构
不多说,直接上干货! Hue 是 Cloudera 的大数据 Web 工具 官方访问网站 : http://gethue.com/ GitHub : https://github.com/cloude ...
- spring-cloud导入eclipse时,@slf4j注解为什么找不到log变量
原因是缺少插件Lomboz. Lomboz是一个基于LGPL的开源J2EE综合开发环境的Eclipse插件,对编码,发布,测试,以及debug等各个软件开发的生命周期提供支持,支持JSP,EJB等.L ...
- idea和Pycharm 等系列产品激活激活方法和激活码
引用自大神:雪中皓月原文链接 --------------------- 以下两种方法均可用于激活Idea,Pycharm等jetbrains系列产品第一种方法:使用现有的注册服务器优点:快捷,方便, ...
- EBS OAF开发中实体对象和视图对象的属性设置器
EBS OAF开发中实体对象和视图对象的属性设置器 (版权声明.本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 源文: Home > Oracle ...