Hibernate 概述
- 什么是 Hibernate
- 一个 Java 领域的持久化框架
- 一个 Java 领域的ORM 框架
- 什么是持久化
- 持久化是指把对象永久保存到数据库中
- 持久化包括和数据库相关的各种操作(增、删、改、查)
- 什么是 ORM
- ORM 是指对象关系映射(Object/Relation Mapping)
- ORM 将关系数据库中表中的记录映射成为对象,以对象的形式展现,程序员可以把对数据库的操作转换为对对象的操作
- 面向对象概念中的类对应着面向关系概念中的表,对象对应着表的行,属性对应着表的列(字段)
- IDEA 下 Hibernate 开发步骤
- 在数据库下创建好对应的数据表
- IDEA 下连接对应的数据库
- IDEA 下反向生成实体类和对象-关系映射文件(*.hbm.xml)
- 完善 hibernate.cfg.xml 文件
- 如上所示为 IDEA 下自动生成的实体类以及配置文件,我们需要在配置文件中加入其他配置,如下(hibernate.cfg.xml)
- Main 类解析(IDEA 新建 Hibernate 项目生成 Main 类的解析)
- Hibernate 配置文件 hbm2ddl.auto 属性: 由 java 代码生成数据库脚本, 进而生成具体的表结构. 。取值 create | update | create-drop | validate
- create : 会根据 .hbm.xml 文件来生成数据表, 但是每次运行都会删除上一次的表 ,重新生成表, 哪怕二次没有任何改变
- create-drop : 会根据 .hbm.xml 文件生成表,但是SessionFactory一关闭, 表就自动删除
- update : 最常用的属性值,也会根据 .hbm.xml 文件生成表, 但若 .hbm.xml 文件和数据库中对应的数据表的表结构不同, Hiberante 将更新数据表结构,但不会删除已有的行和列
- validate : 会和数据库中的表进行比较, 若 .hbm.xml 文件中的列在数据表中不存在,则抛出异常
对于IDEA 中 hbm2ddl.auto 属性应用还有点没搞清楚,还望大神指点!