分层原则:下层为上层提供服务

表示层,业务层,持久层,数据库

 

对象模型到关系模型的转换

阻抗不匹配(继承关系数据库没有这种概念)

 

还有缓存,除了Hibernate还有OJB,JDO,TopLink,EJB,JPA

 

IBatis是基于sql映射

操纵对象使得更加对象化,有很好的数据库移植性,透明持久化(不需要继承或者实现什么,纯POJO

 

使用情况:对单个对象修改,保存,查询比较适合,对象之间有着很清晰的关系

聚集性操作就不适合,这是O/R映射的一个特点,如果使用数据库特定优化机制的时候也不适合使用

 

原来的设计方式是先建数据模型,然后对象模型

现在的模式应该是对象模型,然后映射数据模型(自动生成表)

 

Hibernate支持两种方式配置文件,一种是properties,一种是xml

 

第一个hibernate项目

1. 创建java项目

2. 引入库

3. 创建全局配置文件,最好加入log4j配置文件

4. 定义实体类

5. 定义实体类的配置文件

6. User.hbm.xml加入到全局配置中

7. 编写hbm2ddl工具类,将实体类生成数据库表

 

一个数据库对应一个SessionFactory,他是线程安全的

SessionConnection进行了包装,在连接池里面拿连接,hibernate默认实现了连接池,也可以集成第三方的连接池,session管理了缓存,这也是跟连接不一样的地方,session是非线程安全的,一个session对应一个业务请求

 

JNDI:一个树,所有EJB都注册到这个树上,好处是对想可以统一管理,而且不依赖于连接池实现

 

Query也支持SQL查询

 

对想也可以获得事件,但是必须实现接口,但是侵入性增大,所以不建议使用,现在一般使用Interceptor

UserType是转换器

posted on 2009-05-06 21:38  IT Person  阅读(284)  评论(0)    收藏  举报