hibernate本身没有日志jar包,它的日志输出需要引入别的jar包
在xml中添加dtd约束。可检测hibernate的xml配置文件的语法是否正确。也能帮助程序更好的解析xml文件。(hibernate的xml使用dtd,spring的配置文件xml使用的是schema约束)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
hibernate的hbm.xml配置文件的解释
- hibernate要求实体类有一个属性唯一值,还要求表有字段作为唯一值
- 主键生成机制
- identity采用数据库提供的主键生成机制
- native采用主键自增机制
<hibernate-mapping>
<class name="com.bbs.model.Admin" table="admin" catalog="BBS" lazy="false">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="identity" />
</id>
<property name="userName" type="java.lang.String">
<column name="user_name" length="20" not-null="true" />
</property>
spring整合hibernate后的一些hibernate配置
- 格式化输出sql,为false,则日志输出的sql在同一行显示,不方便查看。
<prop key="hibernate.format_sql">true</prop>
- 配置好hbm.xml文件后,hibernate就会自动帮我们创建好表(已有表,则进行表数据更新,没有则创建表)
<prop key="hibernate.hbm2ddl.auto">update</prop>
hibernate的执行步骤
- 加载hibernate的核心配置文件
- 创建sessionFactory对象
- 使用sessionFactory创建session对象
- 开启事务
- 写具体逻辑crud操作(这里是变化最多的)
- 提交事务
- 关闭资源
事务是个啥
它是我们操作中的最基本的单元。
- 要求:对于多个操作,要么都成功,只要有一个失败,所有都失败。