我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Hibernate的优点

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Hibernate的优点

一、Hibernate是JDBC的轻量级的对象封装,它是

一个独立的对象持久层框架,和App Server,和

EJB没有什么必然的联系。Hibernate可以用在任何

JDBC可以使用的场合,例如Java应用程序的数据

库访问代码,DAO接口的实现类,甚至可以是BMP

里面的访问数据库的代码。从这个意义上来说,

Hibernate和EB不是一个范畴的东西,也不存在非

此即彼的关系。

二、Hibernate是一个和JDBC密切关联的框架,所

以Hibernate的兼容性和JDBC驱动,和数据库都有

一定的关系,但是和使用它的Java程序,和App

Server没有任何关系,也不存在兼容性问题。

三、Hibernate不能用来直接和Entity Bean做对比

,只有放在整个J2EE项目的框架中才能比较。并且

即使是放在软件整体框架中来看,Hibernate也是

做为JDBC的替代者出现的,而不是Entity Bean的

替代者出现的,让我再列一次我已经列n次的框架结

构:

传统的架构:
1) Session Bean <-> Entity Bean <-> DB
为了解决性能障碍的替代架构:
2) Session Bean <-> DAO <-> JDBC <-> DB
使用Hibernate来提高上面架构的开发效率的架构


3) Session Bean <-> DAO <-> Hibernate <-> DB

就上面3个架构来分析:
1、内存消耗:采用JDBC的架构2无疑是最省内存的

,Hibernate的架构3次之,EB的架构1最差。

运行效率:如果JDBC的代码写的非常优化,那

么JDBC架构运行效率最高,但是实际项目中,这一

点几乎做不到,这需要程序员非常精通JDBC,运用

Batch语句,调整PreapredStatement的Batch

Size和Fetch Size等参数,以及在必要的情况下采用

结果集cache等等。而一般情况下程序员是做不到

这一点的。因此Hibernate架构表现出最快的运行

效率。EB的架构效率会差的很远。

开发效率:在有JBuilder的支持下以及简单的项

目,EB架构开发效率最高,JDBC次之,Hibernate

最差。但是在大的项目,特别是持久层关系映射很

复杂的情况下,Hibernate效率高的惊人,JDBC次

之,而EB架构很可能会失败。

分布式,安全检查,集群,负载均衡的支持
由于有SB做为Facade,3个架构没有区别。

四、EB和Hibernate学习难度在哪里?

EB的难度在哪里?不在复杂的XML配置文件上,而

在于EB运用稍微不慎,就有严重的性能障碍。所以

难在你需要学习很多EJB设计模式来避开性能问题,

需要学习App Server和EB的配置来优化EB的运行效

率。做EB的开发工作,程序员的大部分精力都被放

到了EB的性能问题上了,反而没有更多的精力关注

本身就主要投入精力去考虑的对象持久层的设计上

来。

Hibernate难在哪里?不在Hibernate本身的复杂,

实际上Hibernate非常的简单,难在Hibernate太灵

活了。

当你用EB来实现持久层的时候,你会发现EB实在是

太笨拙了,笨拙到你根本没有什么可以选择的余地

,所以你根本就不用花费精力去设计方案,去平衡

方案的好坏,去费脑筋考虑选择哪个方案,因为只

有唯一的方案摆在你面前,你只能这么做,没得选

择。

Hibernate相反,它太灵活了,相同的问题,你至

少可以设计出十几种方案来解决,所以特别的犯难

,究竟用这个,还是用那个呢?这些方案之间到底

有什么区别呢?他们的运行原理有什么不同?运行

效率哪个比较好?光是主键生成,就有七八种方案

供你选择,你为难不为难?集合属性可以用Set,可

以用List,还可以用Bag,到底哪个效率高,你为难

不为难?查询可以用iterator,可以用list,哪个好,

有什么区别?你为难不为难?复合主键你可以直接

在hbm里面配置,也可以自定义CustomerType,

哪种比较好些?你为难不为难?对于一个表,你可

以选择单一映射一个对象,也可以映射成父子对象

,还可以映射成两个1:1的对象,在什么情况下用哪

种方案比较好,你为难不为难?

这个列表可以一直开列下去,直到你不想再看下去

为止。当你面前摆着无数的眼花缭乱的方案的时候

,你会觉得幸福呢?还是悲哀呢?如果你是一个负

责的程序员,那么你一定会仔细研究每种方案的区

别,每种方案的效率,每种方案的适用场合,你会

觉得你已经陷入进去拔不出来了。如果是用EB,你

第一秒种就已经做出了决定,根本没得选择,比如

说集合属性,你只能用Collection,如果是

Hibernate,你会在Bag,List和Set之间来回犹豫不

决,甚至搞不清楚的话,程序都没有办法写。

[@more@]

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Hibernate的优点

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Hibernate的优点

一、Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实
2023-06-03

java hibernate的缺点有哪些

Java Hibernate的缺点包括:学习曲线陡峭:Hibernate是一个复杂的框架,对于开发人员来说,需要花费一定的时间和精力来学习和理解它的工作原理和使用方式。性能问题:Hibernate在处理大量数据时可能会出现性能问题。它需要进
2023-10-23

Hibernate配置的内容要点

这篇文章主要介绍“Hibernate配置的内容要点”,在日常操作中,相信很多人在Hibernate配置的内容要点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hibernate配置的内容要点”的疑惑有所帮助!
2023-06-17

Hibernate知识点分析

这篇文章主要讲解了“Hibernate知识点分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate知识点分析”吧!1.避免使用工具来自动生成你的模型没错,这些工具的使用可以节约
2023-06-17

如何优化Hibernate性能

这篇文章主要介绍“如何优化Hibernate性能”,在日常操作中,相信很多人在如何优化Hibernate性能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何优化Hibernate性能”的疑惑有所帮助!接下来
2023-06-17

Hibernate HQL优化的方法有哪些

这篇文章主要讲解了“Hibernate HQL优化的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate HQL优化的方法有哪些”吧!初用Hibernate的人也许都遇
2023-06-17

Hibernate性能优化的方法有哪些

本篇内容主要讲解“Hibernate性能优化的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hibernate性能优化的方法有哪些”吧!1.尽量使用many-to-one,避免使用单项
2023-06-17

Hibernate基础知识点有哪些

这篇文章主要介绍“Hibernate基础知识点有哪些”,在日常操作中,相信很多人在Hibernate基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hibernate基础知识点有哪些”的疑惑有所
2023-06-17

Hibernate性能优化要考虑什么

本篇内容主要讲解“Hibernate性能优化要考虑什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Hibernate性能优化要考虑什么”吧!Hibernate是对JDBC的轻量级封装,因此在很
2023-06-17

java之Hibernate面试要点有哪些

这篇文章给大家分享的是有关java之Hibernate面试要点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queu
2023-06-14

python的优点

Python 是一种流行的高级编程语言,具有许多优点,以下是它的主要优点:语法简单明了:Python 的语法设计非常简洁,易于学习,特别是对于初学者来说,Python 的语法规则相对简单,编写代码更加容易。高级语言:Python 是一种解释
2023-10-25

Python的优点和缺点

本节内容如下:Python的优点Python的缺点使用Python的知名网站Python的优点1. 简单 Python的语法非常优雅,甚至没有像其他语言的大括号,分号等特殊符号,代表了一种极简主义的设计思想。阅读Python程序像是在读英语
2023-01-31

Hibernate中临时、持久、游离数据状态的特点

本篇文章给大家分享的是有关Hibernate中临时、持久、游离数据状态的特点,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.临时态(瞬时态)不存在于session中,也不存在
2023-05-31

golang的优点以及缺点

golang 是一款高性能、并发处理强大的编程语言,语法简洁,跨平台。它的优点还包括高效并发、丰富的库和工具生态系统。不过,golang 也存在一些缺点,如面向对象编程有限、缺乏泛型、对低功耗设备支持有限、生态系统相对较小、编译时间长。Go
golang的优点以及缺点
2024-04-21

知识宝库:Java Hibernate 框架知识点的全面梳理

本文主要介绍Java Hibernate框架中的主要概念,包括实体类、数据访问对象、会话工厂等,并提供了代码示例来帮助理解。
知识宝库:Java Hibernate 框架知识点的全面梳理
2024-02-14

Angular的优缺点

Angular是一个由Google开发和维护的开源前端Web应用框架,通过提供丰富的特性和功能,能大大简化开发过程,依赖注入系统也可以增加代码的可测试性和可重用性,但是Angular的文档不足、版本迭代速度快、学习曲线较陡等缺点也影响着它的使用。
Angular的优缺点
2023-10-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录