- 20
- 0
- 约1.18万字
- 约 21页
- 2016-01-07 发布于贵州
- 举报
经典heibernate教程,从入门到精通_CSTP-Hibernate02(第二篇,共四篇)
第二章 Hibernate API 目标: Hibernate API简介 Hinernate的体系结构(运行时) SessionFactory:它保存了对当前数据库配置的所有映射关系,它是将某个数据库的映射关系经过编译之后全部保存在内存中的。 它还是生成Session的工厂,它在进行实例化的过程中将会用到ConnectionProvider。一个SessionFactory对应一个数据库连接,当数据库连接改变时需要修改SessionFactory Sesion: 是进行持久化操作的基础,所有的持久化操作都是在Session的基础上进行的。它相当与JDBC中的Connection。它是Hibernate的持 久化管理器的核心,提供了一系列的持久化操作方法。另外,它还持有一个针对持久化对象的一级缓存,在遍历持久化对象或者根据持久化标识查找对象的时候会用 到。 Transation:功能上和数据库中的事务完全一样,通过它实现对数据库中事务的控制。Transation对象是Session对象产生的,所以他的生命周期比Session短。一个Session的生命周期中可以有多个Transaction对象。 ConnectonProvider:主要作用是生成与数据库建立了连接的JDBC对象,同时他还作为数据库连接的缓冲池。通过ConnectionProvider实现了应用程序和底层的DataSource和DriverManager的隔离。 TransactionFactory:是生成Transaction对象的工厂,通过TransactionFactory实现了事务的封装,使其具体的实现方法与应用程序无关。 Configuration 接口:配置Hibernate,根启动Hibernate,创建sessionFactory对象。 Query和Criteria 接口:执行数据库查询. 在java应用hibernate步骤 创建Hibernate 的配置文件。 创建持久化类 创建对象-关系映射文件 通过Hibernate API 访问数据库的代码 Hibernate 配置文件 持久化类 JavaBean implements Serializable 创建对象-关系映射文件 hibernate-mapping class id column name=compid / generator class=native / /id property name= type= column name= length= / /property /class /hibernate-mapping ID id name=propertyName type=typename column=column_name unsaved-value=null|any|none|undefined|id_value access=field|property|ClassName node=element-name|@attribute-name|element/@attribute|. generator class=generatorClass/ /id name (可选): 标识属性的名字。 type (可选): 标识Hibernate类型的名字。 column (可选 - 默认为属性名): 主键字段的名字。 unsaved-value (可选 - 默认为一个切合实际(sensible)的值): 一个特定的标识属性值,用来标志该实例是刚刚创建的,尚未保存。 这可以把这种实例和从以前的session中装载过(可能又做过修改--译者注) 但未再次持久化的实例区分开来。 access (可选 - 默认为property): Hibernate用来访问属性值的策略。 1)Increment标识符生成器 ?? HIbernate会以自增的方式生成标识符,事实上是在hibernate的初始化阶段读取将要操作的表中的最大的ID(select max(ID) from tableName),在向数据库中插入记录时再在此基础上递增。 这样就会存在并发的问题:如果同时有两个hibernate进程读取了这个最大值(假设为100),在向数据库中插入数据的时候都会想插入ID为101的记录,这样就违反了数据库的约束。这个问题只要是存在两个sessionFacotry就会发生,不能在集群下使用。 ?? 优点:生成标识符的机制不依赖于底层数据库,适用于所有的数据库系统。 ?? 2)Identity标识符生成器 ??? i
您可能关注的文档
最近下载
- 中诚信国际-2025年城投行业运行回顾与2026年展望-“退平台”倒计时下的城投风险再审视.pdf VIP
- 15-《渗透检测》第6-9章-张彦新概要.ppt
- cobas® cobas 系统 6800 8800 Systems p 680 instrument 说明书用户手册.pdf
- 项目总工手册(2023版).docx
- 北师大版三年级下册数学全册教学设计(配2026年春改版教材).docx
- 石化公司物资采购管理办法.pptx VIP
- DB31T 1661-2025 公共区域电子屏播控安全管理要求.docx VIP
- ANSI ESD S20.20-2021(完整中文版本).docx VIP
- 梅江会战扬威名.doc VIP
- 开工第一课(2026)课件.ppt
原创力文档

文档评论(0)