hibernate-架构
来源:互联网 发布:java list排序函数 编辑:程序博客网 时间:2024/05/29 17:21
优点
(1) 对象/关系数据库映射(ORM)它使用时只需要操纵对象,使开发更对象化,抛弃了数据库中心的思想,完全的面向对象思想
(2) 透明持久化(persistent)带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。这些对象可能是普通的JavaBeans/POJO,这个对象没有实现第三方框架或者接口,唯一特殊的是他们正与(仅仅一个)Session相关联。一旦这个Session被关闭,这些对象就会脱离持久化状态,这样就可被应用程序的任何层自由使用。(例如,用作跟表示层打交道的数据传输对象。)
(3) 事务Transaction(org.hibernate.Transaction)应用程序用来指定原子操作单元范围的对象,它是单线程的,生命周期很短。它通过抽象将应用从底层具体的JDBC、JTA以及CORBA事务隔离开。某些情况下,一个Session之内可能包含多个Transaction对象。尽管是否使用该对象是可选的,但无论是使用底层的API还是使用Transaction对象,事务边界的开启与关闭是必不可少的。
(4) 它没有侵入性,即所谓的轻量级框架
(5) 移植性会很好
(6) 缓存机制,提供一级缓存和二级缓存
(7) 简洁的HQL编程
缺点
(1) Hibernate在批量数据处理时有弱势
(2) 针对单一对象简单的增删查改,适合于Hibernate,
而对于批量的修改,删除,不适合用
(3)由于对持久层封装过于完整,导致开发人员无法对SQL进行优化,无法灵活使用JDBC的原生SQL,Hibernate封装了JDBC,所以没有JDBC直接访问数据库效率高。要使用数据库的特定优化机制的时候,不适合用Hibernate
(4)框架中使用ORM原则,导致配置过于复杂,一旦遇到大型项目,比如300张表以上,配置文件和内容是非常庞大的,另外,DTO满天飞,性能和维护问题随之而来
(5)如果项目中各个表中关系复杂,表之间的关系很多,在很多地方把lazy都设置false,会导致数据查询和加载很慢,尤其是级联查询的时候。
(6)Hibernate在批量数据处理时有弱势,对于批量的修改,删除,不适合用Hibernate,这也是ORM框架的弱点
- hibernate架构
- hibernate 架构
- Hibernate架构
- hibernate-架构
- Hibernate流行架构浅析
- Hibernate架构图
- Hibernate之架构
- 【架构】 hibernate读写分离
- hibernate+spring架构有感
- Hibernate学习之架构
- hibernate原理及架构
- Hibernate知识架构
- Hibernate架构与入门
- hibernate之高速缓存基本原理(Hibernate高速缓存架构)
- Hibernate旅程(一)Hibernate架构概述
- Hibernate(一)Hibernate架构概述
- Tapestry+spring+hibernate基本架构
- 整合Hibernate的EJB架构分析
- Python学习01_配置环境
- 【OpenCV】配置OpenCV 3.2.0 + OpenCV contrib + eclipse + Cmake3.9 + MinGw(TDM-GCC 5.1)
- 前端开发利器Chrome控制台 console一些用法
- Django笔记
- 2017/7/24 学习心得 css3第二天
- hibernate-架构
- test2
- java利用map来实现可视化统计随机数分布
- javascript中排序的方法
- LVS系列—LVS安装使用详解(ipvsadm命令)
- 我的第一个博客 -----日常+【java】 JDK与JRE、JVM的关系
- NUMBER BASE CONVERSION (进制转化) (模板)
- Matplotlib.pyplot中subplot详解
- 必知composer命令