Hibernate的本质:也是处理对象和关系模型之间的转换,只是对JDBC做了一层封装。
优点: 1.程序员操作很简单,代码简单( session.save(user); //自动把主键获取,设置到user对象 )
2.直接面向对象操作
3.提供世界级数据缓存:一级(session级别),二级(sessionFactory级别),查询(语句完全相同)(三种缓存)
4.数据库移植性很强,修改很少 (主键的生成,分页语句:抽象方言类)
缺点: 1.不能干预sql语句的生成:写Hibernate的查询hql
2.一个项目中,如果对sql语句的优化要求比较高,不适合用
3.如果一张表中有上亿级别的数据量,也不适合用hibernate 分库分表,读写分离