Hibernate 开发流程
2024-08-29 14:01:36
Hibernate内部分装的技术:JDBC(Java Data Base Connectivity), JTA(Java Transaction API) , JNDI(Java Naming and Directory Interface) Hibernate 提供的api 访问数据库的操作的接口: Session Transaction Query Criteria 用于配置hibernate的接口: Configuration 回调接口,是应用程序接收hibernate内部发生的事件,并作出相应的回应 Interceptor Lifecycle Validatable 用于扩展hibernate功能的接口 UserType CompositeUserType IdentifierGenerator Hibernate 的核心接口:
Configuration: 作用:配置Hibernate,创建SessionFactory 特点:根启动 SessionFactory: 作用:初始化Hibernate , 创建Session, 充当数据存储源的代理 特点:一个SessionFactory对应一个数据存储资源。 线程安全,这意味着它的同一个实例可以被应用到不同的线程 它是重量级的,因为它需要一个很大的缓存,来存放预定义的SQL语句以及映射元数据。(这个缓存被称为Hibernate的第二级缓存) Session: 作用:负责增、删、改、查和加载 特点:线程不安全--------设计软件架构的时候应避免多线程共享 是轻量级的----创建和销毁不需要消耗太多资源 描述:Session 也被称为持久化管理器几乎提供了和持久化相关的全部操作,每个Session实例有一个自己缓存,成为Hibernate 的第一级缓存。它存放当前工作单元加载的对象。 Transaction: 作用:管理事务 Query和Criteria 作用:数据库查询 描述:这两个接口主要用于向数据库查询对象,并控制执行查询的过程 Hibernate的配置: 一、 基本配置 a) 在Hibernate的软件包中提供了hibernate.properties文件中包含了有关配置数据库信息的所有代码 二、 类的持久化----持久化的类必须符合JavaBean的规范: 私有属性, get、set方法,空构造------------Hibernate通过反射实现实例化 注意:Hibernate并不要求持久化类必须实现java.io.Serializable接口。但是对于采用分布式Java应用,当Java对象在不同的进程节点之间传输时,这个对象所属的类必须实现Serializable接口。此外,在Java Web应用中,如果希望对HttpSession中的Java对象进行持久化,那么这个Java对象所属的类也必须实现Serializable接口。
待续............
最新文章
- Referenced file contains errors (http://www.springframework.org/schema...错误
- CAN总线通信:实现MIC-3680与F28335 CAN总线通信的设置
- 使用JavaScript获取Request中参数的值
- File ";/struts-tags"; not found
- TCP通信三次握手的过程
- Python批量读取人脸图片与数据互相转换
- Java API —— File类
- 琐碎-同步centos集群的时间
- Linux时间同步方式记录
- Backbone的 listenTo 和 on
- Android UI SurfaceView的使用-绘制组合图型,并使其移动
- 文件搜索神器everything 你不知道的技巧总结
- 老李分享:Android -自动化埋点 3
- 《精通android网络开发》--使用Socket实现数据通信
- Linux jar包 后台运行
- linux 笔记整理
- [vue--开发记录]使用location.href修改地址跳转页面在ie上遇到的坑
- lumion的基本操作,天气系统,景观系统。5.25
- day1 一、编程语言与计算机五大组成部分
- River Hopscotch
热门文章
- CodeForces #362 div2 B. Barnicle
- mysql数据的行列转换
- POJ 2923 状压好题
- C3P0连接池在hibernate和spring中的配置
- VisualSVN-5.1.4补丁原创发布
- C/C++技术常用网站
- Informatica相同环境与不同环境的导入导出( Repository Name,Integration Service Name,Folder Name是否相同):
- my vim
- Ubuntu下用wireshark抓取802.11封包并进行过滤分析
- CenOS 6.5下安装docker(转)