当前位置: 首页 > news >正文

泉州企业自助建站系统本地网站搭建

泉州企业自助建站系统,本地网站搭建,oa系统建设方案,深圳排名seo可扩展性是许多体系结构的重要特征。 它衡量是否容易#xff08;或困难#xff09; 它是在不影响现有核心系统功能的情况下添加或更改功能。 让我们举一个简单的例子。 假设您的公司拥有一个核心产品来跟踪体育俱乐部中的所有用户。 在您的产品体系结构中#xff0c;您有一个… 可扩展性是许多体系结构的重要特征。 它衡量是否容易或困难 它是在不影响现有核心系统功能的情况下添加或更改功能。 让我们举一个简单的例子。 假设您的公司拥有一个核心产品来跟踪体育俱乐部中的所有用户。 在您的产品体系结构中您有一个由JPA POJO表示的域模型。 域模型包含许多POJO当然包括用户POJO。 package com.alex.staveley.persistence /*** User entity. Represents Users in the Sports Club. * * Note: The SQL to generate a table for this in MySQL is:** CREATE TABLE USER (ID INT NOT NULL auto_increment, NAME varchar(255) NOT NULL, * PRIMARY KEY (ID)) ENGINEInnoDB;*/ Entity public class User {/* Surrogate Key - automatically generated by DB. */ GeneratedValue(strategyGenerationType.IDENTITY) Idprivate int id;private String name;public int getId() {return id;}public void setName(String name) {this.namename;}public String getName() {return name;} } 现在一些客户喜欢您的产品但是他们需要在购买之前进行一些定制。 例如 一位客户希望将属性出生地添加到用户并希望此属性持续存在。 当然此属性的逻辑位置是在用户POJO中但是没有其他客户想要此属性。 所以你会怎么做 您是否仅为此客户创建了特定的User类然后才为他们交换了该类 怎么了 当您更改产品用户类别时呢 如果另一个客户想要另一个定制怎么办 还是改变主意 您是否感觉事情会变得混乱 幸运的是JPA的一种实现Eclipselink在这里提供了帮助。 2.3版本 自2011年6月开始提供最新版本是2011年12月9日最近发布的2.3.2维护包括一些非常好的功能可以解决这种情况。 让我们详细说明。 通过将VirtualAccessmethods Eclipselink注释简单地添加到POJO我们向Eclipselink发出信号表明POJO可能具有一些额外的 也称为虚拟 属性。 您不必在代码中指定任何这些额外的属性 否则它们将不是非常虚拟的 您只需要指定一个通用的getter和setter来满足他们的获取和设置。 您还必须在某个地方将它们存储在内存中就像一个很好的旧哈希图-当然这应该是暂时的因为我们不持久保存哈希图本身。 注意它们不必存储在HashMap中这只是一个流行的选择 让我们看一下我们现在可以扩展的用户。 Entity VirtualAccessMethods public class User {/* Surrogate Key - automatically generated by DB. */GeneratedValue(strategyGenerationType.IDENTITY) Idprivate int id;private String name;Transientprivate MapString, Object extensions new HashMap();public int getId() {return id;}public void setName(String name) {this.namename;}public String getName() {return name;}public t T get(String name) {return (T) extensions.get(name);}public Object set(String name, Object value) {return extensions.put(name, value);} } 那是吗 好吧还有更多的魔术。 您必须告诉eclipselink您的其他属性。 更具体地说它们的名称和数据类型是什么。 您可以通过更新eclipselink-orm.xml来做到这一点该文件位于persistent.xml所在的同一META-INF文件夹中。 ?xml version1.0 encodingUTF-8? entity-mappings xmlnshttp://www.eclipse.org/eclipselink/xsds/persistence/ormxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.eclipse.org/eclipselink/xsds/persistence/orm http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_1.xsdversion2.1entity classcom.alex.staveley.persistence.Userattributesbasic namethebirthplace attribute-typeString accessVIRTUALcolumn namebirthplace/access-methods get-methodget set-methodset//basic/attributes/entity /entity-mappings 现在此配置简单说明用户实体具有一个附加属性在Java中该属性是“ thebirthplace”并且是虚拟的。 这意味着它不是在POJO中明确定义的但是如果我们要调试东西我们会在内存中看到该属性的名称为“出生地”。 此配置还指出该属性的相应数据库列是出生地。 eclipselink可以使用通用的get / set方法来获取和设置此方法。 你想测试吗 将列添加到数据库表中。 在MySql中这将是 alter table用户添加列的出生地varchar64 然后运行以下简单测试 Test public void testCreateUser() {User user new User();user.setName(User1Name);user.set(thebirthplace, donabate);entitymanager.getTransaction().begin();entitymanager.persist(user);entitymanager.getTransaction().commit();entitymanager.close(); } 因此现在我们可以在产品代码中添加一个可扩展的用户POJO。 每个客户都可以根据需要将自己的属性添加到用户。 当然每个客户都与 仅通过确保每个客户的扩展都驻留在特定的eclipslink-orm.xml中即可非常轻松地实现所有其他客户。 请记住您可以根据需要随意命名这些文件如果不使用默认名称则只需更新persistence.xml文件以声明正在使用的名称 。 这种方法意味着当我们想要更新产品中的User时我们只需要更新一个并且仅更新User POJO 因为我们确保只有一个 。 但是当必须为特定客户添加特定属性时我们无需触摸用户POJO代码。 我们简单地对XML进行更改而不必重新编译核心产品中的任何内容。 当然在任何时候只要查看适当的eclipselink-orm.file就可以轻松了解针对任何客户的定制。 是的 快乐扩展 参考文献 在都柏林的技术博客上从我们的JCG合作伙伴 Alex Staveley 扩展您的JPA POJO http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Extensible_Entities http://www.eclipse.org/eclipselink/ 相关文章 Spring Data JPA的持久层 具有GlassFish和一致性的高性能JPA –第1部分 避免延迟的JPA集合 JBoss 4.2.x Spring 3 JPA Hibernate教程 Java Persistence API快速入门 翻译自: https://www.javacodegeeks.com/2012/01/extending-your-jpa-pojos.html
http://www.pierceye.com/news/768992/

相关文章:

  • 优化排名推广教程网站免费房地产网站模板
  • 商城网站建设都需要多少钱电子商务网站建设预算
  • 万荣做网站怎么优化一个网站关键词
  • 潍坊市建设局网站网络工程师 网站建设
  • 做网站要求什么条件计算机网络技术学什么
  • 建设网站呼叫中心有什么好处中国能源建设集团有限公司级别
  • 免费论坛建站二 网站建设的重要性
  • wordpress站点迁移怎样做带音乐的表白网站
  • 海淀网站制作网站建设基本技术
  • 做一个平面网站的成本如何搭建一个app平台
  • 建设工程学部研究生培养网站义乌网站建设和制作
  • 简单的模板网站吉安网站建设jxthw
  • js做的网站佛山本地的网站设计公司
  • 企业网站页面网站建设朝阳
  • ui设计工具有哪些百度seo排名优化系统
  • 网站建设案例简介怎么写淘宝官方网站主页
  • 国外网站 dns南京模板做网站
  • 河北企业网站建设技术江西省外省建设入库网站
  • 网站建设的概念如何将自己做的网站放到网上去
  • 网站维护明细报价表最新的网站建设架构
  • 百度大全seo推广话术
  • 做网站赚钱流程英文网站建设注意什么
  • 腾讯 云上做网站教程开源系统 网站
  • 临沂罗庄做网站服装商城网站建设价格
  • 保定企业官网搭建对网站有效的优化软件
  • 网站后台代码在哪修改股权众筹网站建设
  • 站群源码北京公司注销
  • 营销型网站策划建设台州市住房和城乡建设厅网站
  • 达内网站开发课程wordpress自动添加标签页
  • 免费的个人网站空间我做淘宝网站卖东西怎么激活