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

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

Hibernate 开发流程的更多相关文章

  1. hibernate开发流程

    开发流程,注意:每个hibernate版本在集成的时候是不太一样的.本次使用的是hibernate-distribution-3.6.10.Final-dist 一.开发流程 1)在数据库中创建表,代 ...

  2. 一。Hibernate 开发流程

    一.hibernate和mybatis都是orm产品1.orm:object-realation-mapping对象关系映射 二.开发步骤1.导入相关jar 包括hibernate和oracle的驱动 ...

  3. Hibernate的基本开发流程

    一.Hibernate开发的基本流程 二.Hibernate开发的环境搭建 1.引入Hibernate核心包以及Hibernate依赖包即可.可以在Hibernate目录下的\lib\required ...

  4. Hibernate工作流程

    Hibernate创建步骤 (五大核心接口:Configuration/SessionFactory/Session/Transaction/Query) 1.新建工程,导入需要的jar包. 2.利用 ...

  5. 一 Struts2 开发流程

    SSH与SSM简介SSM:Spring+SpringMVC+MybatisSSH:Struts2+Hibernate+SpringStruts2:是侧重于控制层的框架Hibernate:是一个ORM( ...

  6. mybatis与hibernate运行流程比较

    hibernate长时间没用,感觉生疏了,正好借这篇文章整合下知识,顺便复习比较下两种框架. 概述: Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己 ...

  7. Spring详细基本开发流程

    LOGO 文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star! 搜索关注微信公众号 码出Offer 领取各种学习资料! 一.Spring概述 1.1 Web开发中的一些问 ...

  8. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  9. 小谈Scrum敏捷开发流程

    一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...

随机推荐

  1. php crc32,md5,sha1,mhash测试结果

    总结:php  自带hash mhash 用于散列只能加密   扩展mcrypt 用于加解密 对文件加密有的文件会隐藏换行,或者读取方式等影响导致结果不一致. 1.crc32 php: a.系统crc ...

  2. redis集群报错

    写入redis集群报错:(error) MOVED 6918 解决方法:redis-cli -c -p 7001 -h 10.0.0.104

  3. Android调用系统照相机

    ndroid调用系统相机实现拍照功能 在实现拍照的功能时遇到了很多问题,搜索了很多资料,尝试了很多办法,终于解决了,下面简要的描述下在开发过程中遇到的问题. 虽然之前看过android开发的书,但是没 ...

  4. 解析txt文本,dom4j工具输出为xml文档

    有如下一个ttl.txt文本文档,每一行用空格隔开的三段分别代表主谓宾, 要将它们输出为xml格式文档 工具:dom4j,jar包导入MyEclipse的Java Project工程 代码如下: pa ...

  5. RegExp

    var str = "1a1b1c";var reg = new RegExp("1(.)", "g");alert(reg.test(st ...

  6. java中的反射机制在Android开发中的用处

    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反 ...

  7. TRANSPOSE的DATA步实现

    data a; input name $ a b ; cards; x x x y y y ; run; %macro transpose; proc sql noprint ; select cou ...

  8. asp.net webForm登录授权

    HttpCookie cookie; cookie = FormsAuthentication.GetAuthCookie(W3Account, isRemberMe); if (isRemberMe ...

  9. Java特性-Collection和Map

    创建博客的目的主要帮助自己记忆和复习日常学到和用到的知识:或有纰漏请大家斧正,非常感谢! 之前面试,被问过一个问题:List和Set的区别. 主要区别很明显了,两者都是数组形式存在的,继承了Colle ...

  10. [转]Objective-c中@interface、@implementation、@protocal

    原处:http://blog.csdn.net/l271640625/article/details/8393531 以下Objective-c简称OC 从事java开发的程序员们都知道,在java中 ...