Hibernate能干什么:

     Hibernate主要用来实现Java对象和表之间的映射,除此之外还提供还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。
  Hibernate的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%。对于以数据为中心的程序来说,它们往往只在数据库中使用存储过程来实现商业逻辑,Hibernate可能不是最好的解决方案;对于那些在基于Java的中间层应用中,它们实现面向对象的业务模型和商业逻辑的应用,Hibernate是最有用的。
  Hibernate可以帮助你消除或者包装那些针对特定厂商的SQL代码,并且帮你把结果集从表格式的表示形式转换到一系列的对象去。

 

Hibernate有什么

SessionFactory (org.hibernate.SessionFactory)
 针对单个数据库映射关系经过编译后的内存镜像,是线程安全的(不可变)。 它是生成Session的工厂,本身要用到ConnectionProvider。
 

Session (org.hibernate.Session)

 表示应用程序与持久储存层之间交互操作的一个单线程对象,此对象生存期很短,隐藏了JDBC连接,也是Transaction的工厂。
 

Transaction (org.hibernate.Transaction)

 应用程序用来指定原子操作单元范围的对象,它是单线程的,生命周期很短。它通过抽象将应用从底层具体的JDBC、JTA以及CORBA事务隔离开。
 

ConnectionProvider (org.hibernate.connection.ConnectionProvider)

 生成JDBC连接的工厂(有连接池的作用)。它通过抽象将应用从底层的Datasource或

DriverManager隔离开。仅供开发者扩展/实现用,并不暴露给应用程序使用。

 

TransactionFactory (org.hibernate.TransactionFactory)

 生成Transaction对象实例的工厂。仅供开发者扩展/实现用,并不暴露给应用程序使用。