什么是Hibernate持久层开发?
2个回答
2013-08-25
展开全部
Hibernate 是一个数据持久层框架
1) 可以用java技术实现数据库到数据持久层的映射
2)有自己的SQL语言(HQL)
其实在过去的系统是没有数据持久层框架这个概念的,那时候数据持久层就是数据库表结构本身的结构。但当面向对象技术出现,当三层结构的流行,作为数据载体的对象怎样映射到关系数据库就成为了一个突出的问题。这时候数据持久层的概念也就出现了。
所谓层就是要封装层一下的东西。对上层而言就是数据对象本身了,再也没有什么数据库结构了。这样在设计的过程中就可以完整的体系面向对象的思想,而不在考虑关系数据库的数据模型。
现在在网上最成熟的Hibernate开源应用就应该是天乙社区了http://www.laoer.com/。分析一下还是很有意义的。天乙社区6.0是一套基于JAVA技术的网络虚拟社区,采用了Hibernate+Spring+Struts的轻量级J2EE框架。具体介绍看网站本身。我们这里就它的Hibernate部分仔细分析一下。
我还没有具体看它的源码。只是看了看它的数据库规模
SELECT count(*) FROM `TABLES` T where table_schema ='test'。共76个表。
对应的Hibernate配置文件75个.hbm.xml文件。BBSCS_TABLEID手工维护。
所有的POJO类都在package com.laoer.bbscs.bean。同样对应的hbm.xml也在这个目录下。
虽然表很多但大部分都是几个表的同构表。像bbscs_forum_0~19结构都一样。具体作用就是处理负载平衡的。这样下来真正的对象也就五,六个。
对于一个BBS社区系统,涉及的数据对象比较少。就是用户,帖子。数据也比较规范。它主要的问题是怎样在大负载的情况下稳定,高效地运行。这里作者用同构对象进行负载平衡操作。这是每一种可无限扩展的系统所必须关注的问题。
当然还有一些系统,系统负载不是关键。它的使用者可以说是固定有限的。比如一个局域网中的信息管理系统。这种系统的特点是数据对象无限多,数据处理流程无限长。一句话,系统结构变复杂了。一个BBS系统可以由一个人来维护,但一个复杂的信息系统要一个人维护可能性比较小。在多人协同工作的情况下,怎样使系统只是在简单结构上的垫加,而不是无限复杂系统本身的结构。这就成了总设计者需要认真考虑的了。当然这就不是Hibernate可以提供的功能了。它只是保证你可以进行面向对象的设计,但不能控制你设计出的对象到底是什么样子
1) 可以用java技术实现数据库到数据持久层的映射
2)有自己的SQL语言(HQL)
其实在过去的系统是没有数据持久层框架这个概念的,那时候数据持久层就是数据库表结构本身的结构。但当面向对象技术出现,当三层结构的流行,作为数据载体的对象怎样映射到关系数据库就成为了一个突出的问题。这时候数据持久层的概念也就出现了。
所谓层就是要封装层一下的东西。对上层而言就是数据对象本身了,再也没有什么数据库结构了。这样在设计的过程中就可以完整的体系面向对象的思想,而不在考虑关系数据库的数据模型。
现在在网上最成熟的Hibernate开源应用就应该是天乙社区了http://www.laoer.com/。分析一下还是很有意义的。天乙社区6.0是一套基于JAVA技术的网络虚拟社区,采用了Hibernate+Spring+Struts的轻量级J2EE框架。具体介绍看网站本身。我们这里就它的Hibernate部分仔细分析一下。
我还没有具体看它的源码。只是看了看它的数据库规模
SELECT count(*) FROM `TABLES` T where table_schema ='test'。共76个表。
对应的Hibernate配置文件75个.hbm.xml文件。BBSCS_TABLEID手工维护。
所有的POJO类都在package com.laoer.bbscs.bean。同样对应的hbm.xml也在这个目录下。
虽然表很多但大部分都是几个表的同构表。像bbscs_forum_0~19结构都一样。具体作用就是处理负载平衡的。这样下来真正的对象也就五,六个。
对于一个BBS社区系统,涉及的数据对象比较少。就是用户,帖子。数据也比较规范。它主要的问题是怎样在大负载的情况下稳定,高效地运行。这里作者用同构对象进行负载平衡操作。这是每一种可无限扩展的系统所必须关注的问题。
当然还有一些系统,系统负载不是关键。它的使用者可以说是固定有限的。比如一个局域网中的信息管理系统。这种系统的特点是数据对象无限多,数据处理流程无限长。一句话,系统结构变复杂了。一个BBS系统可以由一个人来维护,但一个复杂的信息系统要一个人维护可能性比较小。在多人协同工作的情况下,怎样使系统只是在简单结构上的垫加,而不是无限复杂系统本身的结构。这就成了总设计者需要认真考虑的了。当然这就不是Hibernate可以提供的功能了。它只是保证你可以进行面向对象的设计,但不能控制你设计出的对象到底是什么样子
TableDI
2024-07-18 广告
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配...
点击进入详情页
本回答由TableDI提供
推荐于2016-10-07 · 知道合伙人互联网行家
关注
展开全部
1、Hibernate持久层(Persistence Layer),即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。
2、数据库的读写是一个很耗费时间和资源的操作,当大量用户同时直接访问数据库的时候,效率将非常低,如果将数据持久化就不需要每次从数据库读取数据,直接在内存中对数据进行操作,这样就节约了数据库资源,而且加快了系统的反映速度。
3、增加Hibernate持久层提高了开发的效率,使软件的体系结构更加清晰,在代码编写和系统维护方面变得更容易。特别是在大型的应用里边,会更有利。同时,持久化层作为单独的一层,人们可以为这一层独立的开发一个软件包,让其实现将各种应用数据的持久化,并为上层提供服务。从而使得各个企业里做应用开发的开发人员,不必再来做数据持久化的底层实现工作,而是可以直接调用持久化层提供的API。
3、目前在持久化层领域,实现模式有以下几种:
◆业务逻辑和数据访问耦合
◆主动域对象模式
◆ORM模式
◆JDO模式
◆CMP模式
2、数据库的读写是一个很耗费时间和资源的操作,当大量用户同时直接访问数据库的时候,效率将非常低,如果将数据持久化就不需要每次从数据库读取数据,直接在内存中对数据进行操作,这样就节约了数据库资源,而且加快了系统的反映速度。
3、增加Hibernate持久层提高了开发的效率,使软件的体系结构更加清晰,在代码编写和系统维护方面变得更容易。特别是在大型的应用里边,会更有利。同时,持久化层作为单独的一层,人们可以为这一层独立的开发一个软件包,让其实现将各种应用数据的持久化,并为上层提供服务。从而使得各个企业里做应用开发的开发人员,不必再来做数据持久化的底层实现工作,而是可以直接调用持久化层提供的API。
3、目前在持久化层领域,实现模式有以下几种:
◆业务逻辑和数据访问耦合
◆主动域对象模式
◆ORM模式
◆JDO模式
◆CMP模式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询