本文中,将介绍一些Hibernate核心接口
Hibernate核心接口
首先介绍一下Hibernate部分核心接口
1.Configuration(配置对象)
+管理Hibernate的配置信息,比如数据库的URL、用户名、密码等
+以Hibernate映射文件(*.hbm.xml形式存在)
+调用代码:
Configuration cfg = new Configuration().configure();
2.SessionFactory(会话工厂)
+应用在SessionFactory处获得会话实例。
+通常情况下,一个应用只有一个SessionFactory。
+如果需要访问多个数据库,需要对每一个数据库使用一个SessionFactory。
+会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数据。
+SessionFactory由Configuration对象创建,所以每个Hibernate配置文件,实际上是对SessionFactory的配置
+调用代码:
SessionFactory factory = cfg.buildSessionFactory ();
3.Session(会话)
+Session不是线程安全的,它代表与数据库之间的一次操作,它的概念介于Connection和Transaction之间。
+Session也称为持久化管理器,因为它是与持久化有关的操作接口。
+Session通过SessionFactory打开,在所有的工作完成后,需要关闭。
+它与Web层的HttpSession没有任何关系。
+调用代码
Session session = sessionFactory.openSession();
4.Transation(事务)
调用代码:
+Transaction tx = session.beginTransaction();
+使用Hibernate进行操作时必须显式的调用Transaction(默认:autoCommit=false)
主键生成策略
数字
assigned//手动指定值
+native
Oracle会产生一个名为hibernate_sequence的序列对象
会指定主键字段为identity
+increment
使用查询语句查询最大值
+identity
oracle不可使用
sqlserver/mysql
+sequence
只有oracle,db2可以
字符
uuid
assigned