Hibernate优点
(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编程
2. Hibernate缺点
(1) Hibernate在批量数据处理时有弱势
(2) 针对单一对象简单的增删查改,适合于Hibernate,而对于批量的修改,删除,不适合用Hibernate,这也是OR框架的弱点;要使用数据库的特定优化机制的时候,不适合用Hibernate
分享到:
相关推荐
spring2.5+hibernatet 搞定分布式事务spring2.5+hibernatet 搞定分布式事务spring2.5+hibernatet 搞定分布式事务spring2.5+hibernatet 搞定分布式事务spring2.5+hibernatet 搞定分布式事务
资源有5.4.9和5.1.2两个Hibernate,Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,...
通过`spring-boot-starter-data-jpa`,开发者可以快速集成JPA并使用Hibernatet进行ORM操作。在源码中,相关的配置和初始化逻辑位于`org.springframework.boot.autoconfigure.data`包下。 对于测试,Spring Boot提供...
4. **MyBatis**:MyBatis是一个轻量级的持久层框架,它允许开发者直接编写SQL语句,避免了对Hibernatet的复杂映射。在本系统中,MyBatis可能用于处理宿舍管理相关的数据库操作,如学生信息的增删改查、宿舍分配等。 ...
标签“工具”可能暗示了这个例子可能结合了某种数据库工具,例如Hibernatet。在实际应用中,我们可能会结合Hibernate进行编程式事务管理,这需要对Hibernate的Session和Transaction接口有深入了解。 在提供的文件...