常用的属性
hibernate.show_sql
hibernate.format_sql
hbm2ddl.auto create 重新生成表删除掉原来的表 update 可以保留原来的数据
hibernate.default_schema 默认数据库
hibernate.dialect 配置hibernate数据库方言
hibernate 前缀可以省略不写
hibernate的执行流程
1.创建配置对象 hibernate.cfg.xml -》创建session-factory 对象 -》创建Session对象(创建了数据库连接)
session 与connection 把对象保存到关系型数据库当中
2,transaction(事务) hibernate对数据库的操作封装在事务当中
使用session.doWork的方法可以不通过事务对数据库进行操作
使用session.doWork(new Work(){
public void execute(Conncection ..........
})
session.save(s);
session.flush;
sesssion 详解
如何获得session对象
1)opencSession
2)getCurrentSession
如果使用getCurrentSession需要在Hibernate.cfg.xml文件中进行配置:
需要添加属性<property name="hibernate.current_session_context_class">thread</property>
session详解
openSession 与getCurrentSession的区别
getCurrentSession在事务提交或者回滚之后自动关闭
openSession需要手动关闭
openSession每次创建一个对象 getCurrenSession用同一个对象
hbm配置文档常用设置
<hibernate-mapping
schema="schemaName"
catalog="catalogName"
...../>
<class
name="ClassName"
table="tableName"
batch-size="N"
where="condition"
entity-name="EntityName"/>
<id
name="propertyName"
type="typename"
column="column_name"
length="length"
<genetator class = "generator class">//主键生成策略
/>