HIBERNATE - 符合Java习惯的关系数据库持久化
Next
HIBERNATE - 符合Java习惯的关系数据库持久化
Hibernate2 参考文档
2.1.1
Table of Contents
前言
1.
在Tomcat中快速上手
1.1.
开始Hibernate之旅
1.2.
第一个可持久化类
1.3.
映射cat
1.4.
与猫同乐
1.5.
结语
2.
体系结构
2.1.
总览
2.2.
持久化对象标识(Persistent Object Identity )
2.3.
JMX集成
2.4.
JCA支持
3.
SessionFactory配置
3.1.
可编程配置方式
3.2.
获取SessionFactory
3.3.
用户自行提供JDBC连接
3.4.
Hibernate提供的JDBC连接
3.5.
其它配置属性
3.5.1.
SQL Dialects SQL 方言
3.5.2.
外连接抓取(Outer Join Fetching )
3.5.3.
二进制流
3.5.4.
在控制台记录SQL
3.5.5.
自定义 ConnectionProvider
3.5.6.
常用数据库属性
3.5.7.
自定义CacheProvider
3.5.8.
事务策略
3.5.9.
绑定SessionFactory到JNDI
3.5.10.
查询语言替换
3.6.
XML配置文件
3.7.
Logging
3.8.
NamingStrategy
4.
持久化类(Persistent Classes)
4.1.
简单示例
4.1.1.
为持久化字段声明访问器(accessors)和是否可变的标志(mutators)
4.1.2.
实现一个默认的构造方法(constructor)
4.1.3.
提供一个标识属性(identifier property)(可选)
4.1.4.
建议使用不是final的类 (可选)
4.2.
继承(Inheritance )
4.3.
持久化生命周期(Lifecycle)中的回调(Callbacks)
4.4.
合法性检查(Validatable)
4.5.
XDoclet示例
5.
O/R Mapping基础
5.1.
映射声明(Mapping declaration)
5.1.1.
Doctype
5.1.2.
hibernate-mapping
5.1.3.
class
5.1.4.
id
5.1.4.1.
generator
5.1.4.2.
高/低位算法(Hi/Lo Algorithm)
5.1.4.3.
UUID算法(UUID Algorithm )
5.1.4.4.
标识字段和序列(Identity Columns and Sequences)
5.1.4.5.
程序分配的标识符(Assigned Identifiers)
5.1.5.
composite-id 联合ID
5.1.6.
识别器(discriminator)
5.1.7.
版本(version)(可选)
5.1.8.
时间戳(timestamp )(可选)
5.1.9.
property
5.1.10.
多对一(many-to-one)
5.1.11.
one-to-one
5.1.12.
组件(component), 动态组件(dynamic-component)
5.1.13.
子类(subclass)
5.1.14.
连接的子类(joined-subclass)
5.1.15.
map, set, list, bag
5.1.16.
引用(import)
5.2.
Hibernate 的类型
5.2.1.
实体(Entities)和值(values)
5.2.2.
基本值类型
5.2.3.
持久化枚举(Persistent enum)类型
5.2.4.
自定义值类型
5.2.5.
映射到"任意"(any)类型
5.3.
SQL中引号包围的标识符
5.4.
自定义DDL
5.5.
映射文件的模块化(Modular mapping files)
6.
集合类(Collections)
6.1.
持久化集合类(Persistent Collections)
6.2.
映射集合(Mapping a Collection)
6.3.
值集合和多对多关联(Collections of Values and Many To Many Associations)
6.4.
一对多关联(One To Many Associations)
6.5.
延迟初始化(延迟加载)(Lazy Initialization)
6.6.
集合排序(Sorted Collections)
6.7.
对collection排序的其他方法(Other Ways To Sort a Collection)
6.8.
垃圾收集(Garbage Collection)
6.9.
双向关联(Bidirectional Associations)
6.10.
三重关联(Ternary Associations)
6.11.
异类关联(Heterogeneous Associations)
6.12.
集合例子(Collection Example)
6.13.
<idbag>
7.
组件(Components)
7.1.
作为依赖的对象(As Dependent Objects)
7.2.
In Collections
7.3.
作为一个Map的索引(As a Map Index )
7.4.
作为联合标识符(As Composite Identifiers)
7.5.
动态组件 (Dynamic components)
8.
操作持久化数据(Manipulating Persistent Data)
8.1.
创建一个持久化对象
8.2.
装载对象
8.3.
Querying
8.3.1.
标量查询(Scalar query)
8.3.2.
查询接口(Query interface)
8.3.3.
可滚动迭代(Scrollable iteration)
8.3.4.
过滤集合类(Filtering collections)
8.3.5.
条件查询
8.3.6.
使用本地SQL的查询
8.4.
更改在当前session中保存或者装载的对象
8.5.
更改在以前session中保存或者装载的对象
8.6.
把在先前的session中保存或装载的对象重新与新session建立关联(reassociate)
8.7.
删除持久化对象
8.8.
对象图(Graphs of objects)
8.8.1.
自动管理生命周期的对象(lifecycle object)
8.8.2.
通过可触及性决定持久化(Persistence by Reachability)
8.9.
清洗(Flushing) -- 这个词很难翻译,不能使用“刷新”,因为刷新一词已经被"refresh"使用了。有什么好的建议?
8.10.
结束一个Session
8.10.1.
清洗(Flush)session
8.10.2.
提交事务
8.10.3.
关闭session
8.10.4.
处理异常
8.11.
拦截器(Interceptors)
8.12.
元数据(Metadata) API
9.
父子关系(Parent Child Relationships)
9.1.
关于collections
9.2.
双向的一对多关系(Bidirectional one to many)
9.3.
级联(Cascades)
9.4.
级联更新(Using cascading update())
9.5.
结论
10.
Hibernate查询语言(Query Language), 即HQL
10.1.
大小写敏感性(Case Sensitivity)
10.2.
from 子句
10.3.
联合(Associations)和连接(joins)
10.4.
select子句
10.5.
统计函数(Aggregate functions)
10.6.
多形(polymorphism)
10.7.
where子句
10.8.
表达式(Expressions)
10.9.
order by 子句
10.10.
group by 子句
10.11.
子查询
10.12.
示例
10.13.
提示和技巧(Tips & Tricks)
11.
实例(A Worked Example)
11.1.
持久化类
11.2.
Hibernate 映射
11.3.
Hibernate Code
12.
性能提升(Improving Performance)
12.1.
用于延迟装载的代理
12.2.
第二层缓存(The Second Level Cache)s
12.2.1.
映射(Mapping)
12.2.2.
只读缓存
12.2.3.
读/写缓存
12.2.4.
Nonstrict Read / Write Cache
12.2.5.
事务缓存(transactional)
12.3.
管理Session缓存
12.4.
查询缓存(Query Cache)
13.
理解集合类的性能(Understanding Collection Performance)
13.1.
分类(Taxonomy)
13.2.
Lists, maps 和sets用于更新效率最高
13.3.
Bag和list是反向集合类中效率最高的
13.4.
一次性删除(One shot delete)
14.
条件查询(Criteria Query)
14.1.
创建一个Criteria实例
14.2.
缩小结果集范围
14.3.
对结果排序
14.4.
关联(Associations)
14.5.
动态关联对象获取(Dynamic association fetching)
14.6.
根据示例查询(Example queries)
15.
SQL查询
15.1.
Creating a SQL based Query
15.2.
Alias and property references
15.3.
为SQL查询命名
16.
继承映射(Inheritance Mappings)
16.1.
三种策略
16.2.
限制
17.
事务和并行(Transactions And Concurrency)
17.1.
配置,会话和工厂(Configurations, Sessions and Factories)
17.2.
线程和连接(Threads and connections)
17.3.
乐观锁定/版本化(Optimistic Locking / Versioning)
17.3.1.
使用长生命周期带有自动版本化的会话
17.3.2.
使用带有自动版本化的多个会话
17.3.3.
应用程序自己进行版本检查
17.4.
会话断开连接(Session disconnection)
17.5.
悲观锁定(Pessimistic Locking)
18.
映射实例(Mapping Examples)
18.1.
雇员/雇主(Employer/Employee)
18.2.
作者/著作(Author/Work)
18.3.
客户/订单/产品(Customer/Order/Product)
19.
工具箱指南
19.1.
Schema 生成器(Schema Generation)
19.1.1.
对schema定制化(Customizing the schema)
19.1.2.
运行该工具
19.1.3.
属性(Properties)
19.1.4.
使用Ant(Using Ant)
19.1.5.
对schema的增量更新(Incremental schema updates)
19.1.6.
用Ant来增量更新schema(Using Ant for incremental schema updates)
19.2.
代码生成(Code Generation)
19.2.1.
配置文件(可选)
19.2.2.
meta属性
19.2.3.
基本的finder生成器(Basic finder generator)
19.2.4.
基于Velocity的渲染器/生成器(Velocity based renderer/generator)
19.3.
映射文件生成器(Mapping File Generation)
19.3.1.
运行此工具
20.
最佳实践(Best Practices)