© 版权声明:本文为博主原创文章,转载请注明出处

1.hibernate.cfg.xml常用配置

  - hibernate.show_sql:是否把Hibernate运行时的SQL语句输出到控制台,编码阶段便于测试

  - hibernate.foramt_sql:输出到控制台的SQL语句是否进行排版,便于阅读。建议设置为true

  - hbm2ddl.auto:可以帮助由java代码生成数据库脚本,进而生成具体的表结构。create|update|create-drop|validate

  - hibernate.default_schema:默认的数据库,创建表时会加上对应的数据库。eg:create table hibernate.student(...)

  - hibernate.dialect:配置Hibernate数据库方言,Hibernate可针对特殊的数据库进行优化

2.Hibernate执行流程

  - 1.应用程序先创建Configuration类的对象,调用对象的configure()方法来读取Hibernate的配置文件(.cfg.xml)和映射文件(.hbm.xml)中的信息

  - 2.再调用Configuration对象的buildSessionFactory()方法来创建SessionFactory对象

  - 3.再调用SessionFactory对象的openSession()方法,来创建Session对象

  - 4.再调用Session对象的beginTransaction()方法,来开启事务,创建Transaction对象

  - 5.利用Session对象来对数据进行持久化操作

  - 6.持久化操作完成后,Transaction对象提交事务,将数据保存到数据库中

  - 7.关闭Session,SessionFactory

  

  说明:

    1.不建议直接使用jdbc的connection操作数据库,而是通过使用session来操作数据库

    2.session可以理解为操作数据库的对象

    3.session与connection是多对一的关系,每个session都有一个与之对应的connection,一个connection不同时刻可以供多个session使用

    4.把对象保存到关系数据库中需要调用session的各种方法,eg:save()、update()、delete()、createQuery()等

3.Hibernate开发流程

  1. 编写配置文档hibernate.cfg.xml
  2. 编写实体类
  3. 生成对应实体类的映射文件并添加到配置文档中
  4. 调用Hibernate API进行测试

4.transaction简介

  - 1.Hibernate对数据的操作都是封装在事务当中,并且默认是非自动提交方式。所以用session保存对象时,如果不开启事务,并且手动提交事务,对象并不会真正保存在数据库中

  - 2.如果你想让Hibernate想jdbc那样自动提交事务,必须调用session对象的doWork()方法,获取jdbc的connection后,设置其为自动提交事务模式(通常并不推荐这样做)

// 创建学生对象
Student student = new Student(1, "张三", "男", new Date(), "张家村"); session.doWork(new Work() { public void execute(Connection connection) throws SQLException { connection.setAutoCommit(true);// 设置为自动提交事务模式 }
}); session.save(student);// 保存对象到数据库中
session.flush();// 强制输出SQL语句

参考:http://www.imooc.com/learn/396

Hibernate学习二----------hibernate简介的更多相关文章

  1. Hibernate学习(二)关系映射----基于外键的单向一对一

    事实上,单向1-1与N-1的实质是相同的,1-1是N-1的特例,单向1-1与N-1的映射配置也非常相似.只需要将原来的many-to-one元素增加unique="true"属性, ...

  2. Hibernate基础学习(二)—Hibernate相关API介绍

    一.Hibernate的核心接口      所有的Hibernate应用中都会访问Hibernate的5个核心接口.      (1)Configuration接口: 配置Hibernate,启动Hi ...

  3. hibernate学习二 基本用法

    一  映射文件User.hbm.xml 定义了持久化类实例是如何存储和加载的,这个文件定义了持久化类和表的映射. 根据映射文件,Hibernate可以生成足够的信息以产生所有的SQL语句,也就是类的实 ...

  4. Hibernate学习0.Hibernate入门

    Hibernate是什么 面向java环境的对象/关系数据库映射工具. 1.开源的持久层框架. 2.ORM(Object/Relational Mapping)映射工具,建立面向对象的域模型和关系数据 ...

  5. Hibernate学习笔记-Hibernate HQL查询

    Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库 ...

  6. hibernate学习之Hibernate API

    1. Hibernate Api分类 1)提供访问数据库的操作(如保存,更新,删除,查询)的接口.这些接口包括:Session, Transaction,,Query接口. 2)由于配置Hiberna ...

  7. Hibernate学习之Hibernate流程

    Hibernate的核心组件 在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层.它通过配置文件(hibernate.properties或hibernate. ...

  8. hibernate学习二(HelloWorld)

    一.建立hibernate配置文件 在工程Hibernate_01_HelloWorld下的src上建立hibernate.cfg.xml,打开hibernate-release-4.3.11.Fin ...

  9. hibernate学习(二)

    hibernate 单向一对多映射 一.数据表设计 数据库名:hibernate5 数据表: ①表名:CUSTOMERS 字段: CUSTOMER_ID  CUSTOMER_NAME ②表名:ORDE ...

随机推荐

  1. golang深坑记录

    go深坑:1.gin.context.JSON,如果没有make数组时,数组返回为null,make后,数组为[]2.json.Number转int64类型 datatemp.(json.Number ...

  2. 在react项目当中使用redux

    如果需要在你的react项目当中使用状态管理模式的话,需要引入redux和react-redux两个插件,redux提供基本的功能,react-redux提供将redux注入react的方法. imp ...

  3. 将扁平化的JSON属性转换为嵌套的JSON

    需要将如下JSON {"a":"a","b":"b","c.e":"e",&qu ...

  4. Android开发跳坑记录

    本文主要记录在Android开发中遇见的一些问题,以及解决方法. 2015.12.01 1.adb.exe 端口被占用 解决: http://blog.csdn.net/xiaanming/artic ...

  5. linux内核之系统调用nanosleep与pause()

    nanosleep()使得进程进入睡眠状态,指定时候后唤醒进程,sleep()基于其实现 asmlinkage long sys_nanosleep(struct timespec *rqtp, st ...

  6. jemalloc原理分析

    netty4引入了内存池的概念,它的主要思想源自于jemalloc,由于难以理解netty中这一块的代码,我决定先看一看网上的相关文章 官方git jemalloc原理分析 jemalloc和内存管理 ...

  7. 深入Java数据类型

    Java的数据类型分为两大类,一类是基本数据类型,还有一类就是引用数据类型. 1.基本数据类型 Java一共有8种基本数据类型,分别是byte,short,int,long,float,double, ...

  8. 2016集训测试赛(十九)Problem A: 24点大师

    Solution 这到题目有意思. 首先题目描述给我们提供了一种非常管用的模型. 按照题目的方法, 我们可以轻松用暴力解决20+的问题; 关键在于如何构造更大的情况: 我们发现 \[ [(n + n) ...

  9. 解决每次启动Office都出出现设置向导的问题

    昨天不知道怎么地,每次打开Excel都会出现"正在配置Office"的设置向导,并且修复.重置用户均无法解决. 在网上搜索了一下,找到了一个解决方法:把"C:\Progr ...

  10. schema设计

    Schema设计   Schema:表的模式:   设计数据的表,索引,以及表和表的关系 在数据建模的基础上将关系模型转为数据库表 满足业务模型需要基础上根据数据库和应用特点优化表结构   关系模型图 ...