解析Hibernate之前首先需要要了解一下ORM技术

对象关系映射(英语:Object Relational Mapping,简称ORM)

白话的解释:对象模型(JavaBean)和关系模型(数据库表)映射起来的关系 

Hibernate 是实现ORM技术流行框架

其中很多人会对它得实现机制比较困惑  搞不清EntityManager  Session  SessionFactory 的关系

JPA全称Java Persistence API 是SUN公司是为简化开发整合ORM技术而提出的规范(接口)

Hibernate 是实现实现此接口的一种的框架

其实Hibernate 开发了两套实现机制 1 Session         SessionFactory         Query

                                 2 EntityManager   EntityManagerFactory   Query

其实第二种是对第一种的封装 目的 是为了实现JPA接口规范 便于框架的整合

一下通过简单介绍几个类 来进一步说明二套实现的关系

JPA接口主要提供四个接口

EntityManagerFactory(获得EntityManagerEntityManager(CRUD) Query(执行查询语句方法)

1   ApplicationContext                 2   

      配置文件                               实现(PersistenceProvider接口                                                           提供 EntityManagerFactory

 (AnnoationApplication)                   HibernatePersistence

        |                                           |

        |                                   EntityManagerFactoryImpl 

     (提供session)                         封装SessionFactory(实现EntityManagerFactory)

    SessionFactory                                  |

        |                                         封装Session(实现EntityManager)

        |                                      EntityManagerImpl

                                                    |

    Session  CRUD操作类                        HibernateQuery 实现Query接口

        |

     Query  没有实现Query