1、 Hibernate核心接口
Session、Transaction、Query、SessionFactory、Configuration
|
2、 Session概述:
l Session不是线程安全的,它代表与数据库之间的一次操作,它的概念介于Connection和Transaction之间。
l Session也称为持久化管理器,因为它是与持久化有关的操作接口。
l Session通过SessionFactory打开,在所有的工作完成后,需要关闭。
l 它与Web层的HttpSession没有任何关系。
3、 SessionFactory
Ø 应用程序从SessionFactory(会话工厂)里获得Session(会话)实例。它在多个应用线程间进行共享。通常情况下,整个应用只有唯一的一个会话工厂——例如在应用初始化时被创建。然而,如果你使用Hibernate访问多个数据库,你需要对每一个数据库使用一个会话工厂。 会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数据。 Ø 调用代码: SessionFactory sessionFactory = cfg.buildSessionFactory(); Ø 说明:SessionFactory由Configuration对象创建,所以每个Hibernate配置文件,实际上是对SessionFactory的配置 |
4、 Transaction(事务)
它将应用代码从底层的事务实现中抽象出来——这可能是一个JDBC事务,一个JTA用户事务或者甚至是一个公共对象请求代理结构(CORBA)——允许应用通过一组一致的API控制事务边界。这有助于保持Hibernate应用在不同类型的执行环境或容器中的可移植性。 Ø 调用代码: Transaction tx = session.beginTransaction(); v 注:使用Hibernate进行操作时必须显式的调用Transaction(默认:autoCommit=false)。 |
5、 Query
Query(查询)接口允许你在数据库上执行查询并控制查询如何执行。查询语句使用HQL或者本地数据库的SQL方言编写。 Ø 调用代码: Query query = session.createQuery(“from User”); |