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

网站优化设计的基础是网站基本要素及每个细节的优化资阳抖音搜索优化

网站优化设计的基础是网站基本要素及每个细节的优化,资阳抖音搜索优化,优化设计五年级上册语文答案,沧州黄骅港赶海的地方在过去的几年中#xff0c;像Hibernate这样的对象关系映射工具已经帮助开发人员在处理关系数据库方面取得了巨大的生产力增长。 ORM使开发人员可以将精力集中在应用程序逻辑上#xff0c;并避免为诸如插入或查询之类的简单任务编写大量样板SQL。 但是#xff0c;充分证明的对… 在过去的几年中像Hibernate这样的对象关系映射工具已经帮助开发人员在处理关系数据库方面取得了巨大的生产力增长。 ORM使开发人员可以将精力集中在应用程序逻辑上并避免为诸如插入或查询之类的简单任务编写大量样板SQL。 但是充分证明的对象关系阻抗不匹配问题不可避免地引起开发人员的头痛。 关系数据库是建立在合理概念基础上的一种专门技术但是它们不一定符合面向对象的世界。 有几种使用ORM的方法和样式各有优缺点。 使用ORM的基本选择之一是确定是从数据库架构生成ORM映射还是从数据库架构生成ORM定义可能是XML配置文件注释或类似XDoclet之类的数据库架构 。 从数据库架构生成ORM层的前一种方法意味着无论您要处理特定于数据库的DDL还是具有某些抽象层都必须以其自己的语言和术语来处理数据库但是仍然被迫对待数据库是什么。 不幸的是这意味着您需要技术方面的专业知识并且可能比允许您生成架构要花费更多的工作。 但是这迫使开发人员正确理解和处理RDBMS –将DBMS视为简单数据存储区既危险又有害。 开发人员在设计应用程序时需要考虑键索引等的影响并将它们与关系数据库的现实隔离开可能很危险而以我的经验来看这总是很糟糕的。 一个相关的问题是POJO的使用最终由ORM框架操纵。 从理论上讲这听起来不错但实际上您会遇到各种问题并且很可能将应用程序逻辑与真正应该构成数据访问对象的逻辑相混合。 开发人员和架构师喜欢通过使用Spring和其他框架来赞扬关注点的分离没有真正的理由为什么不应在此处应用相同的概念。 另一个小问题是需要维护POJO和映射定义但这通常不是太多的工作。 从模式生成ORM映射和代码的第二种方法是我的首选方法。 根据我使用这两种方法的经验可以从模式中生成bean从而可以智能地设计bean并且仅根据需要使其变得复杂同时可以免费通过PK按索引等进行获取。 由于它们都在持久性类本身中进行管理因此管理惰性集合和引用对象之类的事情也变得更加容易。 这种方法还避免了编写样板POJO的需要并迫使您将数据访问对象与域对象和业务逻辑分开对待。 以我从架构生成数据访问bean的经验来看bean最终变得更丰富更可用性能更好并且一旦建立了基础架构维护成本就会降低。 可能有人认为您最终需要额外的数据包装器类但实际上对单独的Bean类的需求与数据访问层中发生的情况无关。 这里的一个问题是可以为您完成这一代工作的框架的可用性–过去我曾使用过定制的解决方案这些解决方案虽然效果很好并取得了回报但需要进行初步的前期工作。 在较小的项目上可能没有足够的回报值得在这种工作上进行投资。 同时有一些ORM采用这种方法并生成持久实体类例如jooq 但是我必须尝试一下。 Hibernate是Java领域中最流行的ORM尽管它与处理大量SQL无关但是它存在一些问题。 通常该方法是定义映射和POJO然后让Hibernate管理SQL生成。 这样做的问题是您定义的架构通常不理想并且最终忽略了诸如正确索引之类的事情。 尽管您选择使用其专有内容的程度取决于您但Hibernate也会迫使您最终使用其事务和查询机制。 这不一定在所有情况下都是一件坏事但是我个人对经常使用的HQL语言感到不满意因为它为开发人员引入了一种熟悉的不同的语言其他人后来不得不维护并尝试弄清楚出来。 查询优化也可能出现问题并且过去在性能调优方面做了大量工作对我来说必须访问实际查询以进行调优。 我还认为尝试在持久性类中实现继承只是一个坏主意–试图将一个概念强加到自然无法容纳它的技术上是不值得的。 Hibernate诱使开发人员通过支持按层次结构表和按类的机制在数据库中实现继承但这在我心中是一个错误因为您最终会遇到不良的数据模型以及以后管理和扩展层次结构的问题。 我也不喜欢填充应该是干净的关系模型-您不能假装关系数据库是面向对象的数据存储。 如果您从这篇文章中删除了一件事那就应该是不要忽略您正在使用的实际技术。 对待RDBMS到底是什么然后学习使用它。 对面向对象的系统执行相同的操作。 一定要尝试通过使用ORM来避免编写样板代码和不必要的SQL从而使您的生活更轻松但不要认为您可以避免处理某种翻译或代码来处理自然发生的不匹配。 不要期望使用框架或工具来为您解决问题。 开发人员会获得思考和发现最佳方法的报酬因此当问题出现并聪明地解决它们时我们不必害怕进行处理。 与许多事物一样此处适用80-20规则。 使用ORM可以为您完成80的工作并准备为另外20的工作编写SQL和一些持久性代码。 不要期望太高否则您最终会遇到几种类型的问题-奇怪的错误性能问题设计不良的面向对象模型等。 我很想听听您对任何语言的ORM的经验和想法遇到的问题以及如何处理它们。 这是经验非常宝贵的主题之一因此请分享您的想法。 参考 问题与奥姆斯我们JCG伙伴 ■在Carfey软件博客 。 相关文章 休眠陷阱 休眠自动提交命令强制MySQL在过多的磁盘I / O中运行 Hibernate映射集合性能问题 DataNucleus 3.0与Hibernate 3.5 Java Persistence API快速入门 翻译自: https://www.javacodegeeks.com/2011/09/problems-with-orms.html
http://www.pierceye.com/news/897596/

相关文章:

  • 哈尔滨建站模板大全慈溪高端网站设计
  • 升阳广州做网站公司门户网站建设存在的问题和差距
  • 杭州建设行业网站做兼职网站
  • 连云港市城乡建设管理局网站wordpress怎么设置
  • 如何找做网站的公司网站建站哪家公司好
  • 网站建设性价比高珠海网站建设工程
  • 设计公司网站需要什么条件网站建设与管理课程代码
  • 局域网网站怎么做软件定制开发的发展前景
  • 门户网站关键词旅游网站开发报价单
  • 哪个网站做视频收益高社区服务呼叫系统 网站的建设
  • 网站是如何制作的工厂 电商网站建设
  • 展览设计网站有哪些南海网站智能推广
  • 贵阳做网站需要多少钱凡科网站建设完成下载下载器
  • 虚拟机上做钓鱼网站照片网站怎么做
  • 建网页和建网站编程猫少儿编程app下载
  • 网站首页介绍cms系统架构
  • 建设厅的工程造价网站东莞网站优化方式
  • 微信网站模板源码wordpress如何编辑
  • 做网站p图工具公司网站建设教程
  • 网站 选项卡 图标苏州网站网页设计
  • 柳州网站建设优化推广wordpress 不显示菜单
  • 网站死循环网站备案和域名备案区别
  • 做网站要学会什么语言装修公司网站模板下载
  • 门户网站建设自查报告网站关键词快速排名技术
  • 如何建网站费用多少全国工商企业查询平台
  • 兰州新区建站什么是网络营销取得成功的基础
  • 南昌 网站 公司wordpress迁移后媒体库丢失
  • 做移动网站点击软件cnzz网站建设
  • 高质量网站外链建设大揭秘做网站之前需要准备什么条件
  • 睢宁做网站百度一下做网站