配置文件

Hibernate配置文件

文件名: 默认为Hibernate.cfg.xml。用于Hibernate对数据库的连接、工作方式等

property

常用参数 功能
connection.url 数据库URL,指定到数据库
hibernate.connection.username 用户名
hibernate.connection.password 密码
connection.driver_class 数据库驱动
hibernate.dialect 数据库方言,不同的数据库或版本的SQL语法不同 org.hibernate.dialect.*Dialect
hibernate.current_session_context_class session获取方式 jta | thread
hibernate.show_sql 是否控制台输出 true | false(默认)
hibernate.connection.autocommit 是否自动提交 true | false(默认)
hibernate.connection.pool_size 连接池大小 整数
hibernate.use_sql.comments 是否生成调试信息 true | false(默认)

mapping

常用参数 功能
resource 指定映射文件(配置文件方式) 数据库映射文件
class 指定映射类(注解方式) 数据库映射类

表映射

将数据库表与POJO一对一映射,POJO和该配置文件可使用工具自动创建

  • 使用配置文件

    文件名:习惯用*.hbm.xml(*表示数据库名)

  • 使用注解

Configuration

读取配置文件,用于创建SessionFactory。

1
Configuration configuration = new Configuration().configure(配置文件); //配置文件默认为"Hibernate.cfg.xml"

SessionFactory

用于返回一个可用的连接

1
SessionFactory sessionFactory = configuration.buildSessionFactory();

Session

使用Session对数据库进行操作,从SessionFactory获取,禁止新建

1
2
Session session = sessionFactory.getCurrentSession();//从连接池获取一个连接
Session session = sessionFactory.openSession();//创建新连接

Transaction

事物,用于提交/回滚,保持数据一致性、原子性等
Session进行操作前,需要使用Transaction开启事务,并在操作结束后,提交更改。

1
2
3
4
5
6
7
Transaction transaction = session.beginTransaction();
try{
session操作
transaction.commit();//事务提交
}catch(Exception e){
transcation.rollback();//事务回滚
}

Query

使用QBCQBEHQLSQL语句进行查询

Criteria

使用面向对象的方式进行查询