首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Hibernate学问

2013-12-02 
Hibernate常识OR映射? 对象关系映射Hibernate对JDBC进行了封装,面对对象进行操作,底层仍然是JDBCHibernate

Hibernate常识

OR映射? 对象关系映射

Hibernate对JDBC进行了封装,面对对象进行操作,底层仍然是JDBC

Hibernate以对象之间关系的映射为核心

关注对象之间的映射关系(一对一,多对一,多对多)

通过对象找到其它对象---面向对象,将表间的关联查询进行了转换

?

类与数据库中的表映射

内存中的一个对象映射为表中的一行

对象的属性与表的字段映射

?

Hibernate操作实体类

实体类必须要有id属性,作为数据库的唯一标识

实体类必须要有无参的构造方法

?

?

hibernate.hbm2ddl.auto

update? 自动检查表是否存在,

如果不存在则创建

如果存在,则对比数据库表与类的字段属性

如果类有增加字段,则增加数据库的字段;

如果类的字段减少了,数据库字段是不会删除的;

?

?

?

一个session就是底层JDBC与数据库连接的实例

session不是线程安全的,它代表与数据库之间的1次或多次操作,介于connection与transaction之间

session一般都从数据库连接池中获取,如c3p0

connection的生命周期很长

每个session对应一个transaction对象,也可以对应多个

?

JDBC事务管理,setAutoCommit(false); commit()

JTA可以跨数据库进行事务管理

Hibernate的session包括了对JDBC和JTA的事务管理功能

?

持久化状态的对象特征:

被session管理,有数据库标识,而且数据会自动与数据库同步(在事务提交时)

?

?

热点排行