一,session 缓存(不跨session,就是只能在以个session中)一级缓存
1.session.get(User.class, 1);
1.不支持lazy
,
2.如果没有对象返回null
2.session.load(User.class,2);
1.支持lazy
(先返回一个cglib产生的代理对象)
2.如果没有对象返回异常(org.hibernate.ObjectNotFoundException
)
二,session删除
User user = new User();
user.setId(13);
session.delete(user);//hibernate是不建议删除一个脱管状态的对象的
三,对象的状态
1.transient
(瞬时状态
)
*
在数据库中没有与之匹配的数据
*
没有纳入
session
的管理
2.
persistent
(持久化状态
)
*
persistent
状态的对象在数据库中有与之匹配的数据
*
纳入了
session
的管理
*
在清理缓存(脏数据检查)的时候
,
会和数据库同步
* 不可以有相同id的持久化状态对象
3.detached
(脱管状态
)
*
在数据库中有与之匹配的数据
*
没有纳入
session
的管理
三,session中update和merge的区别
1.merge不改变对象状态(不会从脱管状态
变为持久化状态
)
2.update改变了对象状态(会从脱管状态
变为持久化状态
)
该方法存在的问题:持久化状态不能有2个id相同的对象
四,hibernate hbm2ddl(org.hibernate.tool.hbm2ddl
)
SchemaExport
create(是否在控制台打印语句,是否往数据库中执行ddl)
五,主键生成策略
1.自动增长
native自动选择identity,sequence
identity <-----> mysql
sequence <-----> oracle
2.自定义
assigned
uuid ----------- 32位的16进制的数字的字符串
3.多表间(可以使用另外表单主键来作为我的主键
)
foreign
六,hibernate中关系
单向
1 - 1(包括:唯一外键
(重点),主键
)
1 - N
N - 1
N - N
双向
1 - 1 双向只是改变了对象模型,表的结构不改变
1 - N
N - N
1,级联(cascade
) ----你干什么我就干什么(只对增加,删除,修改
有关系)
1.1 为什么使用
?
但有对象有关系时,持久化主对象,如果次对象没有持久化,那么持久化主对象时就报错
1.2 取值(
例如,cascade="persist,merge,evict"
)
persist
merge
delete
save-update
evict
replicate
lock
refresh
delete-orphan
all
-------- 1-1 中常用
none
-------- 默认情况下
- 大小: 16.8 KB
分享到:
相关推荐
Hibernate基础知识演示代码
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java开发人员可以随心所欲的使用对象编程思维来操纵数据库。
NULL 博文链接:https://springrisingsun.iteye.com/blog/477718
SSH基础知识之Hibernate,hibernate,spring,struts,ssh
Hibernate:使用Hibernate开发企业级应用持久层
学习hibernate基础知识,很实用,适合初学者
hibernate 基础知识,对快速入门很有帮助
使用了一些简单的hibernate基础,一个简单的idea项目,搭建了hibernate环境,适合刚刚学习hibernate的初学者参考
Hibernate 文档 包含Hibernate基础知识 里面内容丰富 适合初级学习Hibernate的人用 谢谢!!!
13.1 Hibernate 基础知识 13.2 DataBase Explorer 透视图 13.3 Hibernate 应用实例 第14章 Spring框架及其应用 14.1 Spring 基础知识 14.2 Spring框架应用实例 14.3 Spring 和 Hibernate 组合开发实例 第15章 ...
第一次传,不知道好不好?hibernate基础知识
Spring和Hibernate的整合基础知识,用idea搭建,数据库需要自己修改,参考实体类
Hibernate基础知识,已实例的方式展现了hibernate的精髓,让我们从云里雾里的概念中脱离出来,从实战所需的角度来分析hibernate。
Hibernate框架的介绍,基础知识的介绍
Hibernate 入门知识
关于SSH框架开发Web网页的一部分,JSP与Hibernate的基础知识介绍
讲述Hibernate的基础知识的文档,用于初学者.pdf
hibernate基础教程 理解O/R Mapping原理 掌握Hibernate开发的相关知识 能使用Hibernate进行实际项目开发
该文档详解hibernate每一章节知识要点,重在基础,是初级版教学!
Hibernate相关知识介绍,基本涵盖了大部分的知识点,PPT形式课件