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

海洋公园网站建设方案seo效果分析

海洋公园网站建设方案,seo效果分析,什么网站可以查建设用地规划许可证,网站模板中文乱码介绍 在我以前的文章中#xff0c;我描述了应用程序级事务如何为长时间的对话提供合适的并发控制机制。 所有实体都在Hibernate会话的上下文中加载#xff0c;充当事务后写式缓存 。 Hibernate持久性上下文可以包含给定实体的一个引用和一个引用。 一级缓存可确保会话级可重… 介绍 在我以前的文章中我描述了应用程序级事务如何为长时间的对话提供合适的并发控制机制。 所有实体都在Hibernate会话的上下文中加载充当事务后写式缓存 。 Hibernate持久性上下文可以包含给定实体的一个引用和一个引用。 一级缓存可确保会话级可重复读取。 如果对话跨越多个请求我们可以进行应用程序级的可重复读取。 长时间的对话本质上是有状态的因此我们可以选择分离的对象或长期的持久性上下文 。 但是应用程序级可重复读取需要应用程序级并发控制策略例如乐观锁定。 抓住 但是这种行为有时可能被证明是出乎意料的。 如果您的Hibernate会话已经加载了给定的实体那么任何后续的实体查询JPQL / HQL都将返回完全相同的对象引用不考虑当前加载的数据库快照 在此示例中我们可以看到第一级缓存可防止覆盖已加载的实体。 为了证明这种行为我提出了以下测试案例 final ExecutorService executorService Executors.newSingleThreadExecutor();doInTransaction(new TransactionCallableVoid() {Overridepublic Void execute(Session session) {Product product new Product();product.setId(1L);product.setQuantity(7L);session.persist(product);return null;} });doInTransaction(new TransactionCallableVoid() {Overridepublic Void execute(Session session) {final Product product (Product) session.get(Product.class, 1L);try {executorService.submit(new CallableVoid() {Overridepublic Void call() throws Exception {return doInTransaction(new TransactionCallableVoid() {Overridepublic Void execute(Session _session) {Product otherThreadProduct (Product) _session.get(Product.class, 1L);assertNotSame(product, otherThreadProduct);otherThreadProduct.setQuantity(6L);return null;}});}}).get();Product reloadedProduct (Product) session.createQuery(from Product).uniqueResult();assertEquals(7L, reloadedProduct.getQuantity());assertEquals(6L, ((Number) session.createSQLQuery(select quantity from Product where id :id).setParameter(id, product.getId()).uniqueResult()).longValue());} catch (Exception e) {fail(e.getMessage());}return null;} }); 该测试案例清楚地说明了实体查询和SQL预测之间的区别。 尽管SQL查询投影总是加载最新的数据库状态但是实体查询结果由第一级缓存管理以确保会话级可重复读取。 解决方法1如果您的用例要求重新加载最新的数据库实体状态则只需刷新有问题的实体。 解决方法2如果希望将某个实体与Hibernate一级缓存解除关联则可以轻松地将其退出 因此下一个实体查询可以使用最新的数据库实体值。 超越偏见 休眠是一种手段而不是目标。 数据访问层既需要读取又需要写入而普通的JDBC和Hibernate都不是一种千篇一律的解决方案。 数据知识堆栈更适合于获取最多的数据读取查询和写入DML语句。 尽管原生SQL仍然是事实上的关系数据读取技术但是Hibernate在写入数据方面表现出色。 Hibernate是一个持久性框架您永远不要忘记这一点。 如果计划将更改传播回数据库则加载实体是有意义的。 您不需要加载用于显示只读视图的实体在这种情况下SQL投影是更好的选择。 会话级可重复读取可防止并发写入场景中的更新丢失因此有充分的理由说明实体不会自动刷新。 也许我们选择了手动刷新脏属性 并且自动刷新实体可能会覆盖同步的未决更改。 设计数据访问模式并不是一件容易的事值得投资坚实的集成测试基础。为避免任何未知行为我强烈建议您验证所有自动生成的SQL语句以证明其有效性和效率 。 代码可在GitHub上获得 。 翻译自: https://www.javacodegeeks.com/2014/10/hibernate-application-level-repeatable-reads.html
http://www.pierceye.com/news/79673/

相关文章:

  • 网站制作代理加盟wordpress 汽车模板
  • 网站建设开户行查询手机网站被拦截怎么解除
  • 西安三桥网站建设做网站的回扣
  • 宁津建设局网站手机网站 微信链接
  • 买空间域名做网站代运营是如何骗人的
  • 电子商务网站建设估算成都网站建设网站
  • 网站开发的英文参考文献在手机上怎么赚钱
  • 网站建设报价模板济南优化网站厂家
  • 设备租赁网站建设wordpress 网店主题
  • 怎么样查中企动力做的网站网站免费正能量直接进入老狼
  • 哪个网站能看到医生做的全部手术电脑网站打不开怎么解决
  • 网站要怎么创建建设网站的公司哪家好
  • 做哪个网站好外贸网站测速
  • 网站建设的公司上海个人简历自我介绍简短
  • 县级部门和乡镇不能建网站建设wordpress拓展业务
  • 做药物分析必须知道的网站软件开发培训学校软件开发培训机构
  • 可以做任务看漫画的漫画网站电商网站源码
  • 找素材的网站网站开发前端和后端用什么语言
  • 步步高网站建设报告wordpress导入sql
  • 学校网站系统破解版深圳 网站建设公司
  • 以前做视频的网站公司品牌flash网站设计
  • 重庆网站建设哪里有wordpress建站赚钱
  • 重庆博达建设集团股份有限公司网站商务网站内容建设教程
  • 网站服务器空间租用河北省城乡建设培训网官方网站
  • 网站建设的seo策略怎么在微信上做公众号
  • 郑州航空港区建设局网站wordpress seo标题
  • 网站子站点是什么意思小程序登录失败是什么原因
  • 网站建设的基本特点做网站一定要服务器吗
  • 聊城网站建设 推广聊城博达珠海网站建设王道下拉強
  • 溧阳建设局网站企业简介 网站建设