Hibernate高级技术

1.核心接口

Hibernate接口位于业务层和持久化层;
核心接口有五个:
Session:
session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句),但需要注意的是Session对象是非线程安全的,同时,Hibernate的Session不同于JSP应用中的HTTPSession。这里使用的Session是Hibernate中的Session,而以后会使用的HTTPSession对象被称为用户Session;
SessionFactory
SessionFactory接口负责初始化Hibernate。充当数据存储源的的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是,SessionFactory并不死轻量级的,因为在一般情况下,一个项目通常只需要一个SessionFactory就够了,但需要操作多个数据库时,可以为每个数据库指定一个SessionFactory;
Configuration接口
Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate启动过程中,Configuration类的实例首先定位映射文档位置,读取配置,然后创建SessionFactory对象。
Transaction
Transaction接口负责事务相关的操作。他是可选的,开发人员也可以设计编写自己的底层事务处理代码。
Query和Criteria
Query和Criteria接口类似,负责执行各种数据库查询。他可以使用HQL语言和SQL语句两种表达方式。

2.配置文件的应用

2.1映射元素的详解
在的可选属性:schema属性指明了这个映射的表所在的schema名称;default-cascade属性指定了默认级联风格,可取值none,save,update;auto-impact默认在查询语句中可以用非全限定名的类名,取值为true和false;package指定一个包前述;
用class元素定义一个持久化类,属性:name表明对应的类,table对应数据表;
generator元素中,通过class属性表明采用什么方式生成;
component(组件)也同样具备name,class,insert等属性,并且可以在其中可以添加等标签;
映射关系:
一对一关联:name指属性的名字,class指被关联的类的名字;cascade是可选项,和下面一样;
多对一映射关系:many-to-one,name指类的属性名,column指表的字段名,class是可选项,指关联类的名字,cascade指明哪些操作会从父对象级联到关联的对象;

Hibernate映射类型,包含内置映射类型和自定义数据类型:
内置类型映射负责把一些常见的java类型映射到sql类型:此外,Hibernate还允许用户实现UserType或CompositeUserType接口,来灵活的制定客户化映射类型。客户类型映射可以将用户定义的java类映射到数据库表的相应字段。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值