- Hibernate 五大接口也是贯穿了整个框架:
- Configuretion 用来读取配置文件
- SessionFactory 生产session的工厂
- Session 用来执行增删改查的对象和获取其他对象
- Query 用来执行HQL的增删改查
- Criteria 用于查
- Hibernate 和 Mybatis 的区别
- 开发效率:
两个可以 可以生成基本的单表的增删改查和配置文件复杂的查询,mybaits需要手动的编写SQL,并且手动的映射(resultMap) hobernate在做完映射之后不需要关注SQL以及结果集的映射 性能方面
2.1 mybatis 开启的以及缓存(sqlsession)小缓存二级缓存默认是不开窍的hibernate :默认开启的二级的缓存(session)- 小缓存以及缓存默认是不开窍-第三方的缓存(Ecache,JBOSScache)
2.2 Sql 语句
mybatis中所有的sql的都是自定义的,所以可以更好的控制的SQL的语句的质量
hibernnate 也支持原生的SQL 的这个就会破坏了原本的开发的简洁性
- 移植性
- mybatis因为语句都是手动编写的,所以一直非常的麻烦
- hibernate 通过制定不同的方言那么就可以兼容很多的数据库的产品
- hibernate 延迟加载怎么开启
注解形式,在一对多或者多对一的注解中增加属性fetchxml的心事,在一对多或者多对一的标签中增加属性lazy - Hibernate要优化策略
- 一级的缓存
- 2.可以实现分表粉酷
- 增加第三方缓存
4.6. Hibernate 中的对象的第三组对象的三种状态- 瞬时态
- 持久态
- 托管态
- 增加第三方缓存