RSS
热门关键字:  java  Ajax  JSP  JSF  Struts
当前位置 : 首页>Hibernate>列表

hibernate笔记总结三

来源: 作者: 时间:2007-08-18 点击:

Hibernate API 简介:
  访问数据库操作的接口包括:Session,Transaction,和Query
  配置Hibernate的接口:Configuration
  同调接口,使应用程序接受Hibernate内部发生的事件,做出相应的回应,这些接口包括:Interceptor,Lifecycle,Validatable接口
  用于扩展Hibernate的功能的接口,UserType,CompositeUserType和IdentifierGenerator接口,需要的话,应用程序可以扩展这些接口

  Hibernate内部封装了JDBC,JTA(JAVA Transaction(交易) API)和JNDI(Java Naming and Directory(目录) Interface)
   JDBC提供底层的数据访问操作,只要用户提供了相应的JDBC驱动程序,Hibernate可以访问任何一个数据库系统,JNDI和JTA使Hibernate能后和J2EE
   应用服务器集成
 
   所谓轻量级的封装是因为Hibernate并没有完全封装JDBC,Java应用既可以通过Hibernate API访问数据库,还可以绕过Hibernate API,直接通过JDBC API来访问数据库
 Hibernate的核心接口:
  所有的Hibernate应用都会访问Hibernate的5个核心接口:
   Configuration接口: 配置Hibernate且根启动Hibernate,Hibernate应用通过Configuration实例来指定对象-关系映射文件的位置或者动态配置Hibernate的属性,创建SessionFactory对象
   SessionFactory接口:初始化Hibernate,充当数据存储源的代理,一个SessionFactory实例对应一个数据存储源,SessionFactory有以下特点:它是线程安全的,也就是说它的同一个
   实例可以被应用的多个线程共享,  SessionFactory是一个重量级的,是因为它需要一个很大的缓存,用来存放预定义的SQL语句以及映射元数据等,创建Session对象
   Session接口:Session也被称为持久化管理器,负责保存,更新,删除,加载和查询对象.(Hibernate中的Session和JAVA Web中的HttpSession 是没有任何关系的)
   Transaction:管理事务,是Hibernate的数据库事务接口,它对底层的事务接口做了封装,底层的事务接口包括: JDBC API,JTA,CORBA(Common Object Request Broker Architecture) API
   Query和Criteria接口:执行数据库查询,以及控制执行查询的过程,Query实例包装了一个HQL查询语句,但是HQL查询语句是面向对象的,它引用类名及类的属性名,而不是表名及表的字段名,
   Cruterua接口完全封装了基于字符串形式的查询语句,比Query接口更加面向对象,Criteria接口擅长执行动态查询
 
 回调接口:
   当一个对象发生了特定的事件,如删除,保存 等,Hibernate应用可以通过回调来响应,回调接口实现方式可以分为两类:
     Lifecycle和Validatable接口:由持久化类来实现这两个接口,Lifecycle接口使持久化类的实例能够响应删除,保存等事件,Validatable接口使持久化类的实例在被保存之前进行数据验证,
     而Validatable接口不用由持久化类来实现,应用程序可以定义专门实现Interceptor接口的类,Interceptor实现类负责响应持久化类的实例能够删除,保存等事件

 Hibernate映射类型接口:
    Type接口:表示Hibernate映射类型,用于把域对象映射为数据库的关系数据,Hibernate为Type接口提供了各种实现类,它们代表具体的Hibernate映射类型:
      PrimitiveType类:映射JAVA基本类型,DateType映射JAVA日期类型,BinaryType映射JAVA Byte[]类型

 可扩展的接口:
     Hibernate提供的多数功能是可配置的,允许用户选择适当的Hibernate内置,如果Hibernate访问XXX数据库,可配置为:
       hibernate.dialect=net.sf.hibernate.dialect.XXXDialect
     可见,当Hibernate内置策略不能满足需求时,Hibernate循序用户实现接口或扩展特定类的方式,定义客户化的策略.Hibernate的扩展包括以下内容:
          定制主键的生成策略:IdentifierGenerator接口.
          定制本地SQL方言:Dialect抽象类.
          定制JDBC连接管理:ConnectionProvider接口.
          定制事务管理:TransactionFactory,Transaction和TransactionManagerLookup接口.
          定制ORM策略:ClassPersister接口.
          定制属性访问策略:PropertyAccessor接口.
          创建代理:ProxyFactory接口.
          定制客户化映射类型:UserType和CompositeUserType接口.

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
Google Adsense
相关文章