第一章 理解对象/关系持久化
针对持久化的ORM解决方案
Hibernate 是一种开源的ORM服务实现
旨在成为java中管理持久化数据问题的一种完整解决方案。它调解应用程序和关系数据库的交互,把开发人员解放出来。
无干扰的解决方案,即可以顺利和现有应用程序整合。
1.1什么是持久化
java中的持久化,一般指利用SQL在关系数据库中存储数据
ORM双方:关系数据库和java对象
范式不匹配中的范式:对象模型和关系模型,或面向对象编程和SQL
几乎所有Java应用程序都混合了持久对象和瞬时对象
关系数据库为持久化数据提供了一个结构化的表示法
数据库管理系统管理并发性和数据完整性;负责共享数据;提供数据级的安全性
1.2范式不匹配
粒度问题
子类型问题:SQL数据库产品一般不实现类型或表继承,缺乏明显表示多态关联的方式。
同一性问题
java对象定义两个不同的同一性(对象同一性,等同性)
数据库行同一性(主键)
而几个不恒等的对象表示数据库的同一行很常见????
与关联相关的问题
面向对象语言使用对象引用表示关联;关系领域,关联被表示为外键列,带有几个键值的复本。对象引用具有固有的方向性;外键关联不是生来就有方向性。java关联可以多对多,而表关联始终是一对多或者一对一。
到第12页
分享到:
相关推荐
### Hibernate实战知识点解析 #### 一、书籍简介与评价概览 《Hibernate实战》是一部备受赞誉的关于Hibernate框架的专业书籍,被广泛认为是最权威的Hibernate著作之一。该书由Hibernate项目的核心开发者撰写,因此...
### Hibernate4实战之第七部分:最佳实践 #### 设计细颗粒度的持久类并使用`<component>`实现映射 在Hibernate中,细颗粒度的持久类是指将实体中的复杂属性拆分成单独的对象进行管理。例如,对于一个用户实体中的...
### Hibernate4实战之第五部分:Hibernate的事务与并发 #### 一、事务基础概念 **事务(Transaction)** 是一组逻辑上紧密相连的操作集合。在数据库领域,事务具备ACID特性: - **原子性(Atomicity)**:事务内的所有...
《Hibernate技术深度解析:中文文档与实战指南》 在Java世界中,Hibernate作为一个强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本文将深入探讨Hibernate的核心概念,结合提供的中文文档,以及...
读书笔记:基于struts+hibernate+spring+easyui+mysql的网上商城项目实战源码
而Hibernate Annotations是Hibernate框架的一个重要组成部分,它引入了基于注解的元数据,使得代码更加简洁、易读。本篇将详细探讨Hibernate Annotations 3.4.0.GA版本中的核心概念、特性以及实际应用。 一、...
### 实战中的缓存优化 - **缓存策略选择**:根据业务场景选择合适的缓存策略,如读多写少的场景适合采用查询缓存。 - **缓存粒度**:考虑缓存整个对象还是仅缓存部分属性,以平衡缓存大小和效率。 - **缓存同步**:...
SSH框架整合实战教程读书笔记(七)主要聚焦于Spring、Struts和Hibernate这三大Java Web开发框架的集成应用。在本教程中,我们将深入探讨如何将这三个强大的工具结合在一起,以构建高效、可维护的Web应用程序。源码...
2. **Criteria API**:提供动态构建查询的方式,更易读且灵活。 3. **QBC(Query By Criteria)**:基于对象的查询,提供更强大的查询构建能力。 4. **Criteria API与DetachedCriteria**:支持离线查询,可以在不...
文档"Hibernate_二级缓存总结 开发技术 - Java.doc"可能详细阐述了如何配置和使用Hibernate的二级缓存,包括配置文件的设置、缓存提供者的选用、实体和集合的缓存配置,以及实战中的优化技巧。阅读该文档将有助于...
6. **hibernate.format_sql**:当设置为`true`时,Hibernate会格式化输出的SQL,使其更易读。 7. **hibernate.hbm2ddl.auto**:控制自动创建、更新或验证数据库模式的行为。可能的值包括`create`、`update`、`...
5. Criteria API和HQL(Hibernate Query Language):提供面向对象的查询方式,比SQL更易读,更安全。 四、《Hibernate参考文档.chm》 这份文档详细介绍了Hibernate的API、配置、使用方法和最佳实践,是开发者解决...
- 对于更新频繁的数据,避免使用二级缓存,因为这可能导致脏读或丢失更新。 - 清理和更新缓存策略的设置也很关键,防止缓存中的数据与数据库不一致。 - 选择合适的缓存提供商,根据应用需求平衡性能、内存消耗和...
2. **缓存策略**:二级缓存有四种策略可供选择:`read-only`(只读)、`nonstrict-read-write`(非严格读/写)、`read-write`(读/写)和`transactional`(事务型)。不同的策略对应不同的并发控制和性能特性。 3. ...
这份笔记可能是一位资深开发者的学习心得,可能包含了实战案例、最佳实践以及常见问题的解决方案。笔记通常更加实用,能帮助读者在实际项目中快速解决问题,提高开发效率。 4. **Hibernate第3版开发手册.pdf**: ...
2. **事务管理**: 正确设置事务边界,避免脏读、不可重复读和幻读等并发问题。 3. **自定义服务**: 当标准服务无法满足需求时,可以编写自定义服务并将其注入到Service Register中。 4. **使用SessionFactory的最佳...
3. **易于维护**:由于使用的是面向对象的方式来处理数据,因此代码更加清晰、易读且易于维护。 4. **跨数据库平台支持**:Hibernate支持多种主流的关系型数据库系统,如MySQL、Oracle等,便于项目的迁移和扩展。 #...
《Hibernate源码解析与实战应用》 Hibernate,作为一款强大的Java对象关系映射(ORM)框架,极大地简化了Java数据库编程。本资源包含了hibernate的源码,为开发者提供了深入学习和研究的宝贵材料。通过这个源码,...