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

网站产品标题怎么写外贸网站特效

网站产品标题怎么写,外贸网站特效,交易平台网站开发教程百度云,wordpress 元描述jpa 查询集合Hibernate#xff08;实际上是JPA#xff09;具有集合映射#xff1a; OneToMany#xff0c; ManyToMany#xff0c; ElementCollection。 默认情况下#xff0c;所有这些都是惰性的。 这意味着集合是List或Set接口的特定实现#xff0c;其中包含对持久性会… jpa 查询集合 Hibernate实际上是JPA具有集合映射 OneToMany ManyToMany ElementCollection。 默认情况下所有这些都是惰性的。 这意味着集合是List或Set接口的特定实现其中包含对持久性会话的引用并且只有在访问集合时才从数据库中加载值。 如果您仅偶尔使用集合则可以节省不必要的数据库查询。 但是这有一个问题。 在我看来异常是第二个最常见的异常在NullPointerException之后即LazyInitializationException。 问题在于会话通常为您的服务层打开并且在您将实体返回到视图层后立即关闭。 而且当您尝试在视图中迭代未初始化的集合时例如jsp该集合将引发LazyInitializationException因为它们所拥有的引用所在的会话已经关闭并且无法获取项目。 如何解决 所谓的OpenSessionInView / OpenEntityManagerInView“模式”。 简而言之您可以创建一个过滤器以在请求开始时打开会话并在呈现视图后而不是在服务层完成之后关闭会话。 有人称其为反模式因为它将持久性处理泄漏到视图层并使设置复杂化。 我不会说那么糟糕通常它可以解决问题而不引入其他问题。 但是在我参与的所有最新项目中我们没有使用OpenSessionInView而且效果很好。 之所以能正常工作是因为我们没有使用惰性集合。 但是您会正确地指出当您加载单个实体时您将获取“整个世界”。 好吧不。 * ToMany映射有两种类型 值类型映射其中集合在逻辑上不包含十几个元素。 在大多数情况下这是ElementCollection还有 * ToMany带有诸如“ Category”或“ Price”之类的项目它们只是更复杂的值对象但自身不包含任何其他映射。 这些类型的集合的另一个共同特征是它们通常与它们自己的实体一起显示在UI中。 例如您最有可能要显示文章的类别。 对于这种类型的集合EAGER是更好的选择。 无论如何您都必须获取它们为什么不让Hibernate或任何jpa实现想到一些巧妙的连接呢 就像我说的那样-逻辑上集合不超过一打或十二个因此获取它们不会对性能造成影响。 而且从逻辑上讲它们不会与它们一起获取大对象图。 大型核心实体之间的映射。 可以是“用户下的所有订单”或“组织中的所有用户”“供应商的所有项目”等。您当然不想急于获取它们。 因为如果您为一个组织获取2000个用户那么每个组织又有1000个订单而一个订单平均有3个项目这反过来又包含所有购买该项目的人的集合。.您将最终拥有整个数据库在记忆中。 显然您需要惰性集合对吗 好吧不。 在这种情况下您根本不应该使用集合映射。 在99的情况下这些类型的关系都显示在UI的页面列表中。 或在搜索结果中。 它们永远不会也永远不会全部显示在一个屏幕上或者如果您的应用程序提供了类似REST API之类的东西则很少应该在一个API调用中返回它们。 您必须对其进行查询并使用query.setMaxResults和query.setFirstResult或使用一些限制性条件来限制它们。 此外对集合进行映射意味着有人会在某个时候尝试使用它们这可能会失败。 如果对象已序列化xmljson等则将获取集合内容。 您几乎肯定不想发生的事情。 这里的想法草案JPA可以有一个PagedList集合该集合将允许分页的延迟提取从而消除了查询的需要 所以我刚才说的是-永远不要使用惰性集合。 将eager集合用于非常简单的浅表映射将分页查询用于较大的映射。 好吧不完全是。 延迟集合在那里并且它们有应用尽管它是相当有限的。 或者至少它们比使用的方法适用性差。 这是我发现适用的示例场景。 在我的附带项目中我有一个Message实体它拥有一个Picture实体的集合。 用户上载图片时它会存储在该图片集中。 一条消息的图片不得超过10张因此该收藏非常渴望获得。 但是Message是最常用的实体–实际上是在每个请求中获取的。 但是只有一些消息带有图片您的信息流中有多少条推文有图片上传。 因此我不想让Hibernate状态进行查询只是为了查找给定消息没有图片。 因此我将图片数量存储在一个单独的字段中使图片集合变得懒惰只有在图片数量 0时才手动对其进行Hibernate.initialize..。 因此在某些情况下当实体具有属于上述第一类的可选集合时“小型浅表集合”。 因此如果它很小很浅并且是可选的例如在不到20的情况下使用则应该使用Lazy来保存不必要的查询。 其他方面–懒惰的收藏会让您的生活更艰难。 参考在Bozho的技术博客上 避免与我们的JCG合作伙伴 Bozho一起使用懒惰的JPA Collections 。 相关文章 Hibernate陷阱 DataNucleus 3.0与Hibernate 3.5 Hibernate映射集合性能问题 ORM问题 框架使开发人员愚蠢吗 每个程序员都应该知道的事情 Java最佳实践 翻译自: https://www.javacodegeeks.com/2011/10/avoid-lazy-jpa-collections.htmljpa 查询集合
http://www.huolong8.cn/news/278005/

相关文章:

  • 重庆市建设项目环境影响评价网站软件下载网站排行榜前十名
  • 做电力公司网站玛酷机器人少儿编程加盟
  • dw做的网站如何让文字换行dedecms视频网站模板
  • 如何建立网站数据库连接公众号登录手机版
  • 建设标准 免费下载网站企业logo设计合同
  • 保定企业免费建站wordpress 语言选择器
  • 企业网站建设成本费用有和wind一样做用网站
  • 做知识产权相关的网站宁波网站建设兼职
  • 网站建设什么打王思聪网站返利二维码怎么做
  • 还有用asp做网站的吗网站开发蓝云
  • 做返利网站怎麼建设工程合同通用条款
  • 电商网站平台有哪些大学生对校园网站建设的需求是什么
  • 公司网站建设计划邵阳找工作网站
  • 聚美优品网站怎么做的网络科技有限公司起名
  • 做教育app的网站有哪些最新域名ip地址
  • 南昌网站制作建站模板平台
  • 陕西省高速建设集团网站大型网站建设推荐
  • 微信网站合同网站开发毕设设计论文
  • 帮别人做违法网站会判刑吗网络建站工作室
  • 响应式网站自助建设wordpress升级无法创建目录
  • 电子商务网站建设利益分析网站备案流程详解
  • 上海机械设备有限公司网站建设淮南品牌网站建设电话
  • 兰州网站建设运营方案网站设计制作开发
  • 南昌做网站建设哪家好建设厅官方网站职称
  • 海南网站优化公司关于进行网站建设费用的请示
  • 音乐网站要怎么做重庆市设计院官网
  • 济宁网站建设流程网页设计与制作项目教程素材
  • 上海做网站公司有哪些有什么免费企业网站是做企业黄页的
  • 找素材的网站做网站拉客户有效吗
  • 延安网站制作怎么把wordpress后台设置成中文