作者:empty 页数:241 出版社:empty |
在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦、浪费时间的.Hibernate是一个面向Java环境的对象/关系数据库映射工具, 对象/关系数据库映射(object/relational mapping(OR M) ) 这个术语表示一种技术, 用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去,Hibernate不仅仅管理Java类到数据库表的映射(包括Java数据类型到SQL数据类型的映射) , 还提供数据查询和获取数据的方法, 可以大幅度减少开发时人工使用SQL和」DBC处理数据的时间.Hibernate的目标是对于开发者通常的数据持久化相关的编程任务, 解放其中的95%。对于以数据为中心的程序来说, 它们往往只在数据库中使用存储过程来实现商业逻辑, Hibernate可能不是最好的解决方案:对于那些在基于Java的中间层应用中, 它们实现面向对象的业务模型和商业逻辑的应用,Hibernate是最有用的。不管怎样, Hibernate一定可以帮助你消除或者包装那些针对特定厂商的SQL代码,并且帮你把结果集从表格式的表示形式转换到系列的对象去。如果你对Hibernate和对象/关系数据库快射还是个新手, 或者甚至对Java也不熟悉, 请按照下面的步骤来学习。
前言.
1.翻译说明
2.版权声明
1.Hibernate入门.
1.1.前言.
2.体系结构(Architecture)
1.2.第一部分一第一个Hibernate应用程序
1.2.1.第一个class.
1.4.第三部分-Event Manager web应用程序
3.4.2.外连接抓取(Outer Join Fetching)
1.2.2.映射文件,.
1.2.3.Hibernate配置
1.2.4.用Ant构建.
1.2.5.启动和辅助类
1.2.6.加载并有储对象.
1.3.第二部分一关联映射.
3.1.可编程的配置方式
3.4.1.SQL方言.
3.4.3.进制流(Binary Streams)
3.4.4.二级缓存与查询缓存.
3.4.5.查询语言中的替换.
3.4.6.Hibernate的统计(statistics) 机制
3.6.实现Naming Strategy.
1.3.1.映射Person类.
1.3.2.单向Set-based的关联
1.3.3.使关联工作.
1.3.4.值类型的集合.
1.3.5.双向关联
1.3.6.使双向连起来.
1.4.1.编写基本的servlet
1.4.2.处理与渲染.
1.4.3.部署与测试
1.5.总结.
2.1.概况(Overview)
2.2.实例状态
2.3.JMX整合.
2.4.对JCA的支持.
2.5.上下文相关的(Contextual) Session
3.配置.
3.2.获得SessionFactory
3.3.JDBC连接.
3.4.可选的配置属性
3.5,日志.
3.7.XML配置文件
3.8.J2EE应用程序服务器的集成.
3.8.1.事务策略配置.
3.8.2.JNDI绑定的SessionFactory
4.持久化类(Persistent Classes) .
5.对象/关系数据库映射基础(BasicO/R Mapping)
Hibernate 3.2
6.集合类(Collections) 映射.
3.8.3.在IT A环境下使用Current Session context(当前session上下文) 管理.39
3.8.4.JMX部署.39
4.1.一个简单的POJO例子.41
4.1.1.实现一个默认的《即无参数的) 构造方法(constructor)
4.1.2.提供一个标识属性(identifier property) (可选).
4.1.3.使用非final的类(可选) .
5.1.1.1.EntityResolver
5.1.4.1.Generator
5.1.4.2.高/低位算法(Hi/Lo Algorithm)
5.1.4.3.L UID算法(UUID Algorithm).
5.1.4.4.标识字段和序列(Identity columns and Sequences)
5.1.4.5.程序分配的标识符(Assigned Identifiers).
5.2.1.实体(Entities) 和值(values)
6.2.1.集合外键(Collection foreign keys)
6.2.2.集合元素(Collection elements)
6.2.3.索引集合类(Indexed collections).
6.2.5.一对多关联(One-to-many Associations)
6.3.1.有序集合(Sorted collections).
6.3.2.双向关联(Bidirectional associations)
6.3.3.双向关联,涉及有序集合类.
6.3.4.三重关联《Ternary associations)
6.3.5.使用 id bag>.
7.2.1.多对一(many to one)
7.2.2.一对一(one to one)
7.2.3.一对多(one to many)
7.3.2.多对一(many to one)
4.1.4.为持久化字段声明访问器(accessors) 和是否可变的标志(mutators) (可选) 43
4.2.实现继承(Inheritance).43
4.3.实现equals 0和hashCode 0.44
4.4.动态模型(Dynamic models) .44
4.5.元组片断映射(T up liz ers).46
5.1.映射定义(Mapping declaration).48
5.1.1.Doctype.49
5.1.2.hibernate-mapping.50
5.1.3.class.51
5.1.4.id.53
7.2.单向关联(Unidirectional associations)
7.3.使用连接表的单向关联(Unidirectional associations with join tables)
7.3.4.多对多(many to many)
7.4.双向关联(Bidirectional associations).97
7.5.使用连接表的双向关联(Bidirectional associations with join tables)
8.1.依赖对象(Dependent objects)
8.2.在集合中出现的依賴对象(Collections of dependent objects)
8.3.组件作为Map的紫引(Components as Map indices)
8.4.组件作为联合标识符(Components as composite identifiers)
5.1.4.6.触发器实现的主键生成器(Primary keys assigned by triggers) 56
5.1.5.compo site-id.56
5.1.6.鉴别器(discriminator).57
5.1.7.版本(version) (可选).58
5.1.8.timestamp(可选) .59
5.1.9.property.59
5.1.10.多对一(many-to-one).61
5.1.11.一对一.62
5.1.12.自然ID(natural-id) .64
5.1.13.组件(component) , 动态组件(dynamic-component).64
5.1.14.properties.65
5.1.15.了类(subclass) .66
5.1.16.连接的子类(joined-subclass).67
5.1.17.联合子类(union-subclass).68
5.1.18.连接(join) .69
5.1.19.键(key) .69
5.1.20.字段和规则元素(column and formula elements).70
5.1.21.引用(import) .70
5.1.22.any.71
5.2.Hibernate的类型.72
5.2.2.基本值类型.72
5.2.3.自定义值类型.73
5.3.多次映射同一个类.74
5.4.SQL中引号包围的标识符.75
5.5.其他元数据(Metadata) .75
5.5.1.使用XDoclet标记.75
5.5.2.使用JDK 5.0的注解(Annotation).77
5.6.数据库生成属性(Generated Properties).78
5.7.辅助数据库对象(Auxiliary Database Objects).78
6.1.持久化集合类(Persistent collections).80
6.2.集合映射(Collection mappings).81
associations) .83
6.3.高级集合映射(Advanced collection mappings)+.
6.4.集合例子(Collection example)
7.关联关系映射.
7.1.介绍
7.6.更复杂的关联映射.101
8.组件(Component) 映射.103
8.5.动态组件
9.1.1.每个类分层结构一张表(Table per class hierarchy)
9.1.2.每个子类一张表(Table per subclass) .
10.1.Hibernate对象状态(object states)
10.4.1.执行查询.
11.1.Session和事务范围(transaction scope)
16.1.使用SQLQuery
9.1.3.每个子类一张表(Table per sub el ass) , 使用辨别标志(Discriminator)110
9.1.4.混合使用“每个类分层结构一张表”和“每个子类一张表”.111
9.1.5.每个其体类一张表(Table per concrete class) .111
9.1.6.Table per concrete class, using implicit polymorphism.112
9.1.7.隐式多态和其他继承映射混合使用.113
9.2.限制.114
10.与对象共事.115
10.2.使对象持久化.115
10.3.装载对象.116
10.4.查询.117
10.4.1.1.迭代式获取结果(Iterating results)
10.4.1.2.返回元组(tuples) 的查询
10.4.1.3.标量(Scalar) 结果.
10.4.1.4.绑定参数.
10.4.1.5.分页.
10.4.1.6.可滚动遍历(Scrollable iteration)
10.4.1.7.外置命名查询(Externalizing named queries)
10.4.2.过滤集合.
10.4.3.条件查询(Criteria queries)
10.4.4.使用原生SQL的查询.
10.5.修改持久对象
10.6.修改脱管(Detached) 对象.
10.7.自动状态检测.
10.8.删除持久对象
10.9.在两个不同数据库间复制对象
10.10.Session出(flush)
10.11.传播性持久化(transitive persistence)
10.12.使用元数据.
11.事务和并发.
Hibernate 3.2
12.拦截器与事件(Interceptors and events) .
11.1.1.操作单元(Unit of work) .
11.1.2.长对话.
16.1.1.标量查询(Scalar queries)
16.1.2.实体查询(Entity queries) .
11.1.3.关注对象标识(Considering object identity)
11.1.4.常见问题.
11.2.数据库事务声明
11.2.1.非托管环境.
11.2.2.使用JTA.
11.2.3.异常处理
11.2.4.事务超时.
11.3.乐观并发控制(Optimistic concurrency control)
11.4.悲观锁定(Pessimistic Locking) .
11.5.连接释放模式(Connection Release Modes)
12.1.拦截器(Interceptors) .
12.2.事件系统(Event system)
13.批量处理(Batch processing).!
14.HQL:Hibernate查询语言.
15.条件查询(Criteria Queries) .
11.3.1.应用程序级别的版本检查(Application version checking)
11.3.2.扩展周期的session和自动版本化.
11.3.3.脱管对象(de at ched object) 和自动版本化.
11.3.4.定制自动版本化行为
12.3.Hibernate的声明式安全机制
13.1.批量插入(Batch inserts)
13.2.批量更新(Batch