ORM (object/relation mapping):对象/关系映射
程序员可以把数据库的操作转化为对对象的操作。
类-表
对象-表的行(记录)
属性-表的列(字段)
Hibernate 开发步骤
1.创建Hibernate配置文件(hibernate.cfg.xml)
2.创建持久化类(Persistent Objects)
3.创建对象-关系映射文件(*.hbm.xml)
4.通过Hibernate Api 编写访问数据库代码(Applocation)
Session 缓存 (也被称为 Hibernate 的一级缓存)
在Session 接口的实现中包含一系列的Java集合,这些集合构成Session缓存 只要Session是咧没有结束生命周期,且没有清理缓存 则存放在它缓存中得到对象也不会结束生命周期。
操作Session缓存
flush()方法: Session -> 数据库 使而这内容保持一致不一致则发送sql语句使其一致。
reflush() 方法: 数据库 -> Session缓存 使缓存中的一个对象和数据库的记录一致。
clear() 方法: 清理缓存。
当主键不具有业务含义时 则称其为代理主键。
generator设置 :increment 由Hibernate以自增的方式为代理主键赋值。(只适用于测试的时候)
identity 由底层数据库来负责生成标识符,它要求底层数据库把主键定义为自动增长字段类型。 (oracle不能使用该标识符 因为oracle不支持自动增长字段类型)
hilo 由Hibernate 按照一种high/low算法生成标识符,它从数据库的特定表的字段中获取high值 所以支持所有数据库。
native 一句数据库对自动生成标识符的支持能力来选择使用identity,sequence或hilo 标识符生成器。适合于跨平台开发。
程序员可以把数据库的操作转化为对对象的操作。
类-表
对象-表的行(记录)
属性-表的列(字段)
Hibernate 开发步骤
1.创建Hibernate配置文件(hibernate.cfg.xml)
2.创建持久化类(Persistent Objects)
3.创建对象-关系映射文件(*.hbm.xml)
4.通过Hibernate Api 编写访问数据库代码(Applocation)
Session 缓存 (也被称为 Hibernate 的一级缓存)
在Session 接口的实现中包含一系列的Java集合,这些集合构成Session缓存 只要Session是咧没有结束生命周期,且没有清理缓存 则存放在它缓存中得到对象也不会结束生命周期。
操作Session缓存
flush()方法: Session -> 数据库 使而这内容保持一致不一致则发送sql语句使其一致。
reflush() 方法: 数据库 -> Session缓存 使缓存中的一个对象和数据库的记录一致。
clear() 方法: 清理缓存。
当主键不具有业务含义时 则称其为代理主键。
generator设置 :increment 由Hibernate以自增的方式为代理主键赋值。(只适用于测试的时候)
identity 由底层数据库来负责生成标识符,它要求底层数据库把主键定义为自动增长字段类型。 (oracle不能使用该标识符 因为oracle不支持自动增长字段类型)
hilo 由Hibernate 按照一种high/low算法生成标识符,它从数据库的特定表的字段中获取high值 所以支持所有数据库。
native 一句数据库对自动生成标识符的支持能力来选择使用identity,sequence或hilo 标识符生成器。适合于跨平台开发。