首页 > 代码库 > SessionFactory、Transaction、Query
SessionFactory、Transaction、Query
1.SessionFactory
应用程序通过SessionFactory获得Session实例,并在多个应用线程间进行共享。通常情况下,整个应用只有唯一的一个会话工厂,在应用初始化时被创建。会话工厂缓存了SQL语句和Hibernate在运行时使用的映射元数据。
Hibernate 中获取 SessionFactory 调用代码: SessionFactory sfactory = cfg.buildSessionFactory();
2.Transaction
Transaction 将应用代码从底层的事务实现中抽象出来,允许应用通过一组一致的API控制事务边界。这有助于保持Hibernate应用在不同类型的执行环境中的可移植性。 调用代码: Transaction tx = session.beginTransaction(); … tx.commit();
3.Query
Query(查询)接口允许在数据库上执行查询并控制查询如何执行。 查询语句使用HQL或者本地数据库的SQL方言编写。
调用代码: Query query = session.createQuery(“from User”);
4.持久化Java类必须遵循的原则
为类的持久化字段申明访问方法(get/set),Hibernate对JavaBeans风格的属性实行持久化。
实现一个默认的构造方法(constructor), Hibernate 可以使用 Constructor.newInstance() 进行持久化类的实例化。
如果是集合类型属性,它的类型必须定义为集合的接口,例如:List、Set。
提供一个标识属性(identifier property),如果没有该属性,一些功能不起作用,比如,级联更新: Session.saveOrUpdate()
SessionFactory、Transaction、Query