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接口。

  待续............

最新文章

  1. Referenced file contains errors (http://www.springframework.org/schema...错误
  2. CAN总线通信:实现MIC-3680与F28335 CAN总线通信的设置
  3. 使用JavaScript获取Request中参数的值
  4. File "/struts-tags" not found
  5. TCP通信三次握手的过程
  6. Python批量读取人脸图片与数据互相转换
  7. Java API —— File类
  8. 琐碎-同步centos集群的时间
  9. Linux时间同步方式记录
  10. Backbone的 listenTo 和 on
  11. Android UI SurfaceView的使用-绘制组合图型,并使其移动
  12. 文件搜索神器everything 你不知道的技巧总结
  13. 老李分享:Android -自动化埋点 3
  14. 《精通android网络开发》--使用Socket实现数据通信
  15. Linux jar包 后台运行
  16. linux 笔记整理
  17. [vue--开发记录]使用location.href修改地址跳转页面在ie上遇到的坑
  18. lumion的基本操作,天气系统,景观系统。5.25
  19. day1 一、编程语言与计算机五大组成部分
  20. River Hopscotch

热门文章

  1. CodeForces #362 div2 B. Barnicle
  2. mysql数据的行列转换
  3. POJ 2923 状压好题
  4. C3P0连接池在hibernate和spring中的配置
  5. VisualSVN-5.1.4补丁原创发布
  6. C/C++技术常用网站
  7. Informatica相同环境与不同环境的导入导出( Repository Name,Integration Service Name,Folder Name是否相同):
  8. my vim
  9. Ubuntu下用wireshark抓取802.11封包并进行过滤分析
  10. CenOS 6.5下安装docker(转)