hibernate-核心开发接口-6
来源:互联网 发布:电脑打字用什么软件 编辑:程序博客网 时间:2024/06/06 15:53
configuration
- AnnotationConfiguration(读hibernate.cfg.xml中的数据配置)
- 进行配置信息管理
- 用来产生sessionFactory
- 可以在configure方法中指定hibernate配置文件
- 只需关注一个方法脚本buildSessionFactory
SessionFactory
用来产生和管理session(最主要的是维护数据库连接池)
通常情况下每个应用只需要有一个SessionFactory
除非有访问多个数据库的情况
关注两个方法:
- sf.openSession()
每次打开新的session,需要close()
Configuration cfg = new AnnotationConfiguration();sf = cfg.configure().buildSessionFactory();Session sessions = sf.openSession();sessions.beginTransaction();sessions.save(t);sessions.getTransaction().commit();sf.close();
- getCurrentSession()
从上下文找,如果有,取当前的,没有取新的
<!--hibernate.cfg.xml中,配置上下文,可选项jta、thread、manage、custom.class(后两种可以忘记),一般用thread(当前线程)--><property name="current_session_context_class">thread</property>
用途:界定事务边界,事务提交自动close()
// 这种方式不需要 sf.close()Session session = sf.getCurrentSession()
JTA
java transaction api
分布式的事务管理(tomcat不具备这个能力,所以在hibernate.cfg.xml中不能配置jta,jboss、weblogic等具备这个能力)
对象的三种状态
- 三种状态的区分关键在于
- 有没有id
- id在数据库中有没有
- 在内存中有没有(session缓存)
- 三种状态
- transient:没id,内存中有,缓存中没有,数据库中没有
对象被创建 - persistent:有id,内存中有,缓存中有,数据库中有
执行save() saveOrUpdate() - detached:有id,内存中有,缓存中没有,数据库中有
sf.close()之后
- transient:没id,内存中有,缓存中没有,数据库中没有
阅读全文
0 0
- hibernate-核心开发接口-6
- hibernate 核心开发接口
- Hibernate核心开发接口
- hibernate 核心开发接口
- hibernate核心开发接口
- hibernate核心开发接口介绍
- Hibernate核心开发接口浅析
- HIBERNATE核心开发接口介绍
- hibernate常用核心开发接口
- Hibernate之核心开发接口
- hibernate常用核心开发接口
- Hibernate:核心开发接口介绍
- Hibernate Ⅲ 核心开发接口
- 【hibernate框架】核心开发接口-Configuration接口
- Hibernate 学习笔记04 --核心开发接口
- hibernate---核心开发接口1(重点)
- 【hibernate框架】核心开发接口-update方法
- Hibernate系列之核心开发接口
- 搭建简单的nginx
- 再议C#委托
- Chapter4.1.1 函数的对象
- 简单的登录、注册以及带有验证码功能
- selenium动作
- hibernate-核心开发接口-6
- CSU-1945 最简单的题目
- hadoop、hbase、hive版本兼容信息
- 存储管理的功能
- 性能调优
- Android VR Player(全景视频播放器) [3]:底部导航的实现
- Linux下配置jdk的方法
- linux线程1
- vs2010+opencv 243 + 摄像头操作