1.从User.java这个对象来看,这里没有任何和Hibernate相关的类,这个对象就是一个纯粹的POJO对象.所以说Hibernate是没有侵入性了,我们完全可以写多个dao,一个Hibernate实现,还可以写一个JDBC实现,相互之间都不会有影响.
2.关注对象,而不是关注表.hibernate会自动帮我们处理表中的事务.
3.Hibernate正确的开发方式是先建立对象模型,也可以称为领域模型.建立起来后建立映射关系,再到出表到数据库,再开发应用.如果先设计数据库,在感觉上开发并不是那么OO了.对象更能体现显示世界中事务之间的关系.
4.Configuration用来加载配置文件,Configuration默认加载hibernate.properties文件,现在常用的是hibernate.cfg.xml文件,所以需要调用configure方法,这个方法会自动加载hibernate.cfg.xml文件.
5.SessionFactory是跟数据库绑定的,一个数据库对应一个SessionFactory.SessionFactory是一个重量级的对象,创建比较耗时,所以最好是创建一次.并且是线程安全的,可以放在一个成员变量中,可以在多线程中使用.
6.Session是通过SessionFactory创建出来的,Session可以理解为对Connection又做了一层包装.但是Session和Connection是不同的.open了一个Session并不代表open了一个Connection,只有在真正用到的时候Session才会去连接池里拿.我们现在看不到连接池,其实hibernate是实现了一个连接池.并且可以设置连接池的大小,而且还可以连接第三方的连接池.Session除了管理连接还管理缓存.
7.要做对象查询的时候使用Query接口,Query支持HQL,HQL用来查询实体类.Query还支持SQL查询,用普通的SQL语句也可以查询数据源.
8.Hibernate默认autocommit是false,所以需要手工commit,但是也可以配置.建议手工使用,session的生命周期是一个业务请求完成就close,这样不会产生问题.
9.将Log4j引入过来,便于调试,如果不使用日志跟踪,Hibernate出错了在控制台上是不会打印出来的.
分享到:
相关推荐
第二课:测试实体对象的生命周期 第三课:hibernate基本映射 第四课:hibernate多对一关联映射 ...................... Spring: 第一课:构建Spring的环境并建立一个例子 第三课:spring Bean的作用域 第四课:...
6. **SessionFactory和Session**:SessionFactory是线程安全的,用于创建Session实例,而Session是与数据库交互的主要接口,用于执行CRUD(创建、读取、更新、删除)操作。 7. **持久化对象状态**:Hibernate中的...
4. Session与Transaction:讨论Hibernate中的Session接口,它是与数据库进行交互的主要接口,以及事务管理的重要性,如何处理并发和回滚操作。 5. 查询语言HQL:介绍Hibernate Query Language,一种面向对象的查询...
第1课 课程内容 6 第2课 Hibernate UML图 6 第3课 风格 7 第4课 资源 7 第5课 环境准备 7 第6课 第一个示例Hibernate HelloWorld 7 第7课 建立Annotation版本的...第14课 Hibernate核心开发接口(重点) 29 ........
6. 第二级缓存:为了提高性能,Hibernate提供了二级缓存机制,允许将经常访问的数据存储在内存中,减少对数据库的直接访问。 7. 事务管理:Hibernate提供了基于JTA或 JDBC 的事务管理,确保数据操作的原子性和一致...
Hibernate API 接口类型详解 Hibernate API 是一个功能强大的 Java 持久层框架,提供了大量的接口类型来访问数据库、配置 Hibernate、回调事件、映射类型和扩展接口功能等。下面将详细介绍 Hibernate API 的接口...
《精通Hibernate:Java持久化对象技术详解[第二版]》是一部深入探讨Hibernate框架的专业书籍,旨在帮助Java开发者熟练掌握和运用这一强大的ORM(Object-Relational Mapping)工具。Hibernate是Java开发领域中广泛...
"Hibernate核心接口" Hibernate 是一种流行的 Java 持久化框架,它提供了多种核心接口来实现数据的持久化操作。这些核心接口是 Hibernate 的基础组件,任何 Hibernate 应用程序都需要使用它们。下面将详细介绍这五...
在本教程中,我们将深入探讨Hibernate的核心开发接口,这些接口是Hibernate框架的基石,使得开发者能够轻松地与数据库进行交互。Hibernate是一个强大的Java对象关系映射(ORM)框架,它消除了传统SQL编程的繁琐,...
- Session:是Hibernate的主要工作接口,负责与数据库的交互,提供了数据的增删改查操作。 - EntityManager:JPA的一部分,提供了对实体对象的操作,包括管理实体状态、事务处理等。 - Configuration:配置...
"hibernate 通用接口架构"是指利用Hibernate框架,通过设计DAO(Data Access Object)层的接口来实现业务逻辑与数据访问的解耦,从而提高代码的可复用性和可维护性。 首先,我们来理解DAO层的作用。DAO层作为业务...
hibernate-validator 5.3.5.Final jar包 ;desc:if you want validator your project
Hibernate3还支持第二级缓存,这可以显著提高性能,特别是在多用户并发访问相同数据的情况下。通过集成第三方缓存提供商,如Ehcache,可以实现这一功能。此外,Hibernate3提供了强大的关联映射功能,如一对一、一对...
- **一级缓存**:Session 自带一级缓存功能,这意味着对于同一个 Session 来说,如果两次查询同一个对象,则第二次查询时将直接从缓存中获取数据,而不会再次访问数据库。 - **与 HTTP Session 的关联**:在 Web ...
7. **性能优化**:讨论Hibernate的缓存机制,包括第一级缓存和第二级缓存,以及如何通过配置和设计优化提升系统性能。 8. **案例实战**:通过实际项目或示例,演示如何在开发中应用Hibernate,解决常见问题。 通过...
通过该接口可以指定 Hibernate 配置文件(hibernate.cfg.xml 或者 hibernate.properties)的位置或动态配置 Hibernate 的属性,接着创建 SessionFactory。 2. org.hibernate.SessionFactory Interface:从该接口中...
### Hibernate的核心接口与类 在探索Hibernate框架的过程中,掌握其核心接口与类是至关重要的一步。Hibernate作为一种流行的Java持久层框架,提供了丰富的API来简化对象关系映射(ORM)。本文将详细阐述Hibernate的...
Hibernate是一款强大的对象关系映射(ORM)框架,它在Java应用程序中起到了桥梁的作用,使得开发者可以使用面向对象的方式来操作数据库。这里的"hibernate2.1相关jar包"包含了使用Hibernate 2.1版本所需的一系列核心...
### Hibernate4实战之第五部分:Hibernate的事务与并发 #### 一、事务基础概念 **事务(Transaction)** 是一组逻辑上紧密相连的操作集合。在数据库领域,事务具备ACID特性: - **原子性(Atomicity)**:事务内的所有...
- 第二级缓存:可选的,跨Session共享,可以是第三方缓存服务如Ehcache。 - 查询缓存:存储查询结果,提高查询性能。 6. Hibernate源码解析: - SessionImpl:实际的Session实现,包含对数据库的CRUD操作。 - ...