文档章节

企业应用架构模式学习(三):映射到关系数据库

大风起兮
 大风起兮
发布于 2013/05/26 18:27
字数 769
阅读 300
收藏 8

目前大多数应用都是基于关系型数据库的,以至于从另外一个角度看应用系统复杂的功能都由数据库实现了,当然,应用系统主要的也就是数据了和业务逻辑。

数据源层的作用是与应用需要的基础设施的不同部分进行通信(不同的数据存储:文本、文件、数据库、网络存储等等),建立起数据到应用系统的关系桥梁。

架构模式

架构模式要解决的问题是驱动领域逻辑访问数据库的方式。

  • 行数据入口
  • 记录集访问

目前我们的框架两种都支持,findById(ID),findList(*),记录集的访问结果同样也映射到一个个实例中。

行为问题

所谓行为问题,就是如何让各种对象从数据库中读取出来以及存到数据库中。多个对象的读取修改写入数据库是麻烦的,特别是多个操作相同的数据时,如何保证对象中的数据是有效的,也就是同步。

专门解决上述问题的模式就是工作单元,工作单元跟踪所有从数据库中读取的对象以及所有以任务形式修改过的对象,同样负责将更新提交到数据库。当我们调用保存数据的时候,工作单元并不立即执行,二是放入队列中。

加载对象还有另外一个问题,就是对象总是要关联很多个对象的,当某些数据不需要时,如果还要从数据库中取出来,那效率必然底下,为了避免这种低效,不需要的数据必须不加载进来,当然需要的时候还是要能加载,这里就使用到了延迟加载,拥有对象的占位符,而不是实际对象。

读取数据

Find(id),数据查找器,用来隐藏sql查询语句。

结构预设模式

关系映射

即类属性到数据库字段的映射,其中还包括大字段,大对象的映射。

继承

使用元数据

元数据映射基于把映射浓缩到元数据文件的方法(hibernate的xml文件)

数据库连接

数据库的连接是费时的,开启关闭都是一个漫长的过程,当然也就毫秒级的,但是大量的连接关闭是无法忍受的,所有引入了连接池,连接池中一部分一直连接到数据库,使用时直接访问,也不需要断开。

 

 

本节内容即Java世界的ORMapping,想想hibernate,对象关系映射,元数据,延迟加载,连接池等等,如今大家在做企业应用时首选hibernate,因为简单方便,兼容多种数据库,当然大量数据加载总是像蜗牛一样,要一等再等。

© 著作权归作者所有

大风起兮

大风起兮

粉丝 21
博文 29
码字总数 23630
作品 0
武汉
程序员
私信 提问
作为一名Java开发工程师需要掌握的专业技能

在学习Java编程完之后,学员们面临的就是就业问题。作为一名Java开发工程师,企业在招聘的时候,也是有一定的标准的。 为了帮助大家更好的找到适合自己的工作,小编在这里分享了作为一名Jav...

嘿你好夏天
2017/11/23
0
0
Hibernate 基本概念

这一段正在学Hibernate,首先要了解下Hibernate大概的意思,究竟什么是Hibernate,到底它是个什么东西,必须从整体上把握下Hibernate在整个开发过程中所起到的作用,这样对更深入的理解很有帮...

ke_ry
2016/11/15
0
0
软件架构设计模式简述

在软件开发设计中我们经常会面对业务分析,提取领域问题,从而实现软件架构设计。关于 软件架构设计Martin Fowler在2004出版的《企业应用架构模式》中 概括了四种方式的架构模式。它们分别为...

zting科技
2017/01/10
0
0
作为一名Java开发工程师需要掌握的专业技能

在学习Java编程完之后,学员们面临的就是就业问题。作为一名Java开发工程师,企业在招聘的时候,也是有一定的标准的。 为了帮助大家更好的找到适合自己的工作,小编在这里分享了作为一名Jav...

IT范儿
2017/11/21
0
0
JPA规范实现--OpenJPA

OpenJPA 是 Apache 组织提供的开源项目,它实现了 EJB 3.0 中的 JPA 标准,为开发者提供功能强大、使用简单的持久化数据管理框架。OpenJPA 封装了和关系型数据库交互的操作,让开发者把注意力...

匿名
2008/09/07
7.7K
1

没有更多内容

加载失败,请刷新页面

加载更多

https://zhuanlan.zhihu.com/p/61408911

在Logistimo,我们的所有应用程序都是Docker化的,并在Kubernetes内以docker容器运行。我们注意到在使用Java的容器上发生了大量重启,并且非常随机。Docker检查发现该pod被OOMKiller代码杀死...

xiaomin0322
5分钟前
0
0
北斗三号IGSO-2卫星发射成功!

6月25日,中国航天科技集团官方公众号宣布,北斗三号IGSO-2卫星发射成功! 航天科技集团表示,6月25日2点09分,我国在西昌卫星发射中心用长征三号乙运载火箭成功将北斗三号第2颗倾斜地球同步...

linux-tao
9分钟前
1
0
oracle通过dblink查询sqlserver报错

报错如下: SQL> select * from t@mstest; select * from t@test * ERROR at line 1: ORA-28545: error diagnosed by Net8 when connecting to an agent Unable to retrieve text of NETWORK......

突突突酱
11分钟前
0
0
docker-elasticsearch学习

如果不适用docker,面临的问题有: 部署非常慢 成本非常高 资源浪费 难于迁移和扩展 可能会被限定硬件厂商 虚拟化技术的优点: 虚拟化技术出现以后,一个物理机可以部署多个App,每个App独立...

Vincent-Duan
21分钟前
0
0
MySQL权限管理坑

权限系统的工作原理 MySQL权限系统通过下面两个阶段进行认证: (1)对连接的用户进行身份认证,合法的用户通过认证、不合法的用户拒绝连接。 (2)对通过认证的合法用户赋予相应的权限,用户...

bengozhong
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部