1231 Hibernate核心类 Session对象不是线程安全的,一个 Session对象最好只 由一个单一线程来使用。同时该对象的生命周期要比 Session Factory短,其生命周期通常在完成数据库的一个短 暂的系列操作之后结束。 Session的主要方法有: save:将一个对象持久化到数据库中。 delete:删除对象 update:更新对象,如果数据库中没有记录,会出现异 常 get:根据ID查,会立刻访问数据库。 Load:根据D查,(返回的是代理,不会立即访问数据 库) saveOrUpdate:根据对象状态决定执行save还是 update 方法
12.3.1 Hibernate核心类 Session对象不是线程安全的,一个Session对象最好只 由一个单一线程来使用。同时该对象的生命周期要比 SessionFactory短,其生命周期通常在完成数据库的一个短 暂的系列操作之后结束。 Session的主要方法有: save:将一个对象持久化到数据库中。 delete:删除对象。 update:更新对象,如果数据库中没有记录,会出现异 常。 get:根据ID查,会立刻访问数据库。 Load:根据ID查,(返回的是代理,不会立即访问数据 库)。 saveOrUpdate:根据对象状态决定执行save还是update 方法
1231 Hibernate核心类 2. Hibernate的 Configuration类 Configuration类的主要作用是解析 Hibernate的配置文件和映射 文件中的信息,即负责管理 Hibernate的配置信息。 Hibernate运行 时需要获取一些底层实现的基本信息,如:数据库驱动程序类、 数据库的URL、数据库登录名及密码等。这些信息定义在 Hibernate 配置文件中。通过 Configuration对象的 buildSession Factory()方法创 建 Session Factory对象,当获取了该对象后,配置信息已经由 Hibernate维护并绑定在返回的 ISession Factory对象中,该 Configuration对象将不再有价值。 最常见的 Configuration使用方式是: Configuration cfg = new Configuration( cfg configure /(在方法中指定配置文件名,默认是 hibernate. cfg. xm 当执行cfg. configure();时, Hibernate会自动在 classpath下搜寻 Hibernate配置文件;在 Java Web应用中, Hibernate会自动在WEB NF/ classes目录下搜寻
12.3.1 Hibernate核心类 2.Hibernate的Configuration类 Configuration类的主要作用是解析Hibernate的配置文件和映射 文件中的信息,即负责管理Hibernate的配置信息。Hibernate运行 时需要获取一些底层实现的基本信息,如:数据库驱动程序类、 数据库的URL、数据库登录名及密码等。这些信息定义在Hibernate 配置文件中。通过Configuration对象的buildSessionFactory()方法创 建SessionFactory对象,当获取了该对象后,配置信息已经由 Hibernate维护并绑定在返回的SessionFactory对象中,该 Configuration对象将不再有价值。 最常见的Configuration使用方式是: Configuration cfg = new Configuration(); cfg.configure(); //可在方法中指定配置文件名,默认是hibernate.cfg.xml 当执行cfg.configure();时,Hibernate会自动在classpath下搜寻 Hibernate配置文件;在Java Web应用中,Hibernate会自动在WEBINF/classes目录下搜寻
1231 Hibernate核心类 3. Hibernate的 Session Factory接口 Session Factory接口负责初始化 Hibernate 它充当数据存储源的代理,并负责创建 Session对象, 它由cg创建: Session Factory session Factory = cfg. buildsession Factory Session Factory是线程安全的,可以被多个线程调 用。因为构造 SessionFactory很消耗资源,所以多数情 况下一个应用中只初始化一个 Session Facotry,为不同 的线程提供 Session。当客户端发送一个请求时, Session Factory生成一个SeSs0n对象来处理客户请求
12.3.1 Hibernate核心类 3. Hibernate的SessionFactory接口 SessionFactory接口负责初始化Hibernate。 它充当数据存储源的代理,并负责创建Session对象, 它由cfg创建: SessionFactory sessionFactory = cfg.buildSessionFactory(); SessionFactory是线程安全的,可以被多个线程调 用。因为构造SessionFactory很消耗资源,所以多数情 况下一个应用中只初始化一个SessionFacotry,为不同 的线程提供Session。当客户端发送一个请求时, SessionFactory生成一个Session对象来处理客户请求
1231 Hibernate核心类 4 Hibernate的 Transaction接口 Transaction接口是对实际事务实现的一个抽象,这些实现包 括」DBC事务或者JA等。这样允许开发人员能够使用一个统一的 事务操作接口,使得自己的项目可以在不同的环境和容器间方 便迁移。 Transaction的运行与 Session有关, 通过下面的代码创建它 Transaction tx= session begin Transaction( Transaction常用的方法有: commit():提交事务。 rollback(:撤销事务操作 was Committed():检查事务是否提交
12.3.1 Hibernate核心类 4 Hibernate的Transaction接口 Transaction接口是对实际事务实现的一个抽象,这些实现包 括JDBC事务或者JTA等。这样允许开发人员能够使用一个统一的 事务操作接口,使得自己的项目可以在不同的环境和容器间方 便迁移。 Transaction的运行与Session有关, 通过下面的代码创建它: Transaction tx = session.beginTransaction(); Transaction常用的方法有: commit():提交事务。 rollback():撤销事务操作。 wasCommitted():检查事务是否提交
1231 Hibernate核心类 5 Hibernate的 Query接口 使用 Query类型的对象可以方便地査询数据库中的数据,它主 要通过HQL( Hibernate Query Language)査询数据。 它通过如下语句创建: Query query= s createQuery("HQL语句"); Query接口的常用方法有: setXxX(方法:用于设置HQL中?或变量的值。 ist()方法:返回List类型的查询结果。 excuteUpdate()方法:执行更新或删除语句。 HQL语言是 Hibernate推荐的查询语言,具有与SQL语言 类似的语法规范,只不过SQL针对表中字段进行査询,而HQL针 对持久化对象
12.3.1 Hibernate核心类 5 Hibernate的Query接口 使用Query类型的对象可以方便地查询数据库中的数据,它主 要通过HQL(Hibernate Query Language)查询数据。 它通过如下语句创建: Query query=s.createQuery("HQL语句"); Query接口的常用方法有: setXxx()方法:用于设置HQL中?或变量的值。 list()方法:返回List类型的查询结果。 excuteUpdate()方法:执行更新或删除语句。 HQL语言是Hibernate推荐的查询语言,具有与SQL语言 类似的语法规范,只不过SQL针对表中字段进行查询,而HQL针 对持久化对象