摘要:在信息管理体系特别是门户网站体系中,开发易于配置的软件体系与高速的数据库拜访至关重要,实体领域建模与实体承继为面向目标规划数据库模型供给了思维。判别软件运用程序的标准不再只是它们封装的业务逻辑的数量,将运用硬编码到体系中在保护和修改时需求改动很多代码,而经过可配置的办法则能使体系更具灵活性。
要害词:门户网站数据库拜访封装
中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2011)07-0211-01
1、JPA与实体承继
1.1实体Bean
耐久化是位于JDBC之上的一个更高层笼统,耐久层目标映射到数据库,以便在查询、装载或删去目标的时候,无须运用像JDBC那样繁琐的API。在EJB的早期版别中,耐久化是EJB平台的一部分。从EJB3.0开始,耐久化现已自成标准,被称为JPA(JavaPersistenceAPI)。
1.2实体承继
从联系数据库视点看目标承继联系的耐久化这个问题域:目标承继一般意味着子类比父类能够供给更多的特点,耐久化目标承继联系的本质就是怎么依据目标的类型动态的处理这些多出来的特点。JPA结构支撑运用三种不同的战略处理目标承继联系:
1.2.1每个类分层结构一张表(SINGLE_TABLE)
在这种情况下,类及其子类都保存在同一张数据表中,该表供给足够的字段保存类及其子类的一切特点,一起供给一个特别字段保存当前记载对应类的实际类名(默许名DTYPE,也能够在开发时指定其它称号)。在企业运用运转过程中,JPA标准依据Java目标的实际类型和数据库表进行绑定。
1.2.2每个子类一张表(tablepersubclass)
类和子类别离保存在不同的数据库表中,子类中不保存父类中已有的特点,仅经过主键进行相关。这种情况下,父类和子类对应不同的表,但是子类对应的表中不再保存父类对应表中现已存在的字段信息,两个表之间经过要害字段相关起来,也就是数据库技能中一般所说的外键。这种完成办法是最理想化的一种,既能够处理目标之间的承继,又满足了联系数据库中关于规划范式的要求。
1.2.3每个详细类一张表(tableperconcretesubclass)
类和子类别离保存在不同的数据库表中,相互之间没有相关,这种情况下,开发者不理会类之间是否存在承继联系,为每一个类的耐久化运用仅有的表,父类目标保存在父类对应的表中,子类目标的信息保存在子类对应的表中,这也是一般的耐久化结构采用的办法。
这三种办法的处理关于开发者而言是透明的,不管挑选哪一种,只是影响数据在联系数据库中的保存办法,关于开发者而言,只需求依照面向目标的办法操作目标既可,JPA标准在处理耐久化操作的时候,会动态地判别当前目标的实际类型,从而断定耐久化到哪个表中。在一个企业运用的完成中,开发者能够依据需求挑选这三种办法的一种或者几种来处理目标之间的承继联系。
2、实体承继战略优缺陷与功能分析
2.1每个类分层结构一张表
(1)该战略的长处:SINGLE_TABLE映射战略在一切承继战略中是最简略的,一起也是执行功率最高的。它仅需求对一个表进行管理及操作,耐久化引擎在加载实体或多态连接时不需求进行任何的相关、联合或子查询,由于一切数据都存储在一个表中。
(2)该战略的缺陷:这种战略最大的缺陷是需求对联系数据模型进行十分标准规划,在数据表中参加额定的区分各个子类的字段;此外,不能为一切子类成员特点对应的字段界说notnull束缚,此战略的联系数据模型彻底不支撑目标的承继联系。
(3)挑选准则:查询功能要求高,子类特点不是十分多时,优先挑选该战略。
2.2每个子类一张表
(1)该战略的长处:这种映射办法支撑多态相关和多态查询,而且契合联系数据模型的惯例规划。在这种战略中,能够对子类的成员特点映射的字段界说notnull束缚。(2)该战略的缺陷:查询功能不如第一种,在这种映射战略下,有必要经过表的内连接或左外连接来完成多态查询和多态相关。(3)挑选准则:子类特点十分多,需求对子类某些特点对应的字段进行notnull束缚,且对功能要求不是很严厉时,优先挑选该战略。
2.3每个详细类一张表
(1)该战略的长处:在这种战略中能够对子类的成员特点映射的字段界说notnull束缚。(2)该战略的缺陷:不契合要害数据模型的惯例规划准则,每个表中都存在根据基类的剩余字段。一起,为了支撑战略的映射,实体管理器需求决定运用什么办法。一种办法是在实体加载或多态相关时,容器运用多次查询去完成,这种办法需求对数据库做几回来往查询,十分影响执行功率;另一种办法是容器经过运用SQLUNION查询来完成,
宁波seo优化但SQLUNION并非一切的联系数据库都支撑。(3)挑选准则:除非现实情况有必要运用这种战略,否则不要挑选。
3、可配置高功能门户网站体系分析
由于门户网站体系中文章类别类和一般文章类这2个最要害的类,在规划的时候需从以下视点分析:(1)从承继的视点来看,文章类别也是文章,一般文章也是文章,文章类别和一般文章有许多共同特点,如名字,要害字,描绘,地址等。(2)从相关性来看,文章与所属的文章类别类相相关,文章类别类也与所属的文章类别相相关。(3)从目录结构来看,一个文章类别既包括文章类别类也包括一般文章类。
因此我们可笼统出一个基类文章类,一般文章类和文章类别类都是文章类,在不同的场合运用不同的类作为主体。例如,在目录结构查询形式下以文章类作为主体类,有利于排序、统一管理等;而在详细的增、删和改操作下则可别离以文章类别类和文章类作为主体类。
4、结语
依据实体领域建模和实体承继及其战略,挑选“每个类分层结构一张表”来对文章基类、文章类别类和文章类进行根据JPA的建模。对门户网站体系的功能有很大的进步,如果能进一步结合根据Struts2.2、Spring3.0和JPA2.0对体系网站进行构架,根据Velocity模板区引擎把文章生成静态化页面,根据URLConnection类的模块化静态页面生成技能,使模块页面静态化,并根据SSI技能,使首页静态页面把模块化静态页面包括进来,更能进步网站拜访的功能。
本文转载自
宁波seo优化www.leseo.net
补充词条:
宁波网络seo
宁波seo哪家好
宁波网站优化推广
宁波网站排名优化
宁波网站seo