Hibernate笔记一:认识Hibernate

来源:互联网 发布:VB中input函数怎么用 编辑:程序博客网 时间:2024/06/07 06:58

A:总结知识点:

   1,先创建Hibernate配置文件。

   2,Configuration是用来读取xml配置文件的。

   3,sessionFactory是session工厂,是线程安全的,创建时非常消耗资源,所以一个项目里面,只应该有一个SessionFactory,即采用单例模式。

   4,Hibernate4创建SessionFactory时要麻烦一些,因为新增了一个SeviceRegistry接口。所有基于Hibernate的配置或者服务必须统一向这个ServiceRegistry注册后才能生效。

   5,Hibernate不仅仅是web程序的应用,普通的java程序也可以使用Hibernate。

B:创建SessionFactory步骤如下:

// 1,创建一个SessionFactory对象   SessionFactory factory = null;   Configuration cfg = new Configuration().configure();// factory = cfg.buildSessionFactory();   ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();   factory = cfg.buildSessionFactory(serviceRegistry);

C:关于Session。

    Session是应用程序和数据库之间交互操作的一个单线程对象。它是Hibernate运作的中心,所有持久化对象必须在Session的管理下才可以进行持久化操作。Session对象的生命周期很短,里面有个一级缓存。实际上他是对JDBC的Connection的封装。

D:事务Transaction

    所有持久层都应该在事务管理下进行,特别是修改操作,只读操作的话,最好我们也要写上事务。

// 3,开启事务   Transaction transaction = session.beginTransaction();

    例如:保存操作,如果在没有开启事务的时候对其进行操作,Hibernate会执行保存数据的语句,但是数据没提交到数据库,这时数据库时没有保存到数据的。

E:Hibernate配置文件的两项配置。

    hbm2ddl.auto:该属性可帮助程序员实现正向工程,即由java代码生成数据库脚本,进而生成具体的表结构。取值有create、update、create-drop、validate

    1,create:会根据.hbm.xml文件来生成数据表,但每次运行都会删除上一次的表,重新生成表,哪怕二次没有任何改变。

    2,create-drop:会根据.hbm.xml文件生成表,但是SessionFactory一关闭,表就自动删除。

    3,update:这个是最常用的属性值,也会根据.hbm.xml文件生成表,但若.hbm.xml文件和数据库中对应的数据表结构不同,Hibernate将更新数据表结构,但不会删除已有的行和列。

    4,validate:会和数据库中的表进行比较,若.hbm.xml文件中的列在数据表中不存在,这抛出异常。

    format_sql:是否将sql转化为格式良好的sql,取值为true、false。




0 0
原创粉丝点击