Java开发2.0: 使用Hibernate Shards进行切分 - 编程入门网
和切分 1 的配置几乎相同。)
现在我需要做的就是连接我的域对象,在本示例中,因为它们依赖于 Hibernate,需要一个 SessionFactory 类型进行工作。我将仅使用我的 ShardedSessionFactoryBuilder 提供一种 SessionFactory 类型,如清单 9 中所示: 清单 9. 在 Spring 中连接 POJO
如您在 清单 9 中所看到的,我首先在 Spring 中创建了一个类似工厂的 bean;也就是说,我的 RaceDAOImpl 类型有一个名为 sessionFactory 的属性,是 SessionFactory 类型。之后,mySessionFactory 引用通过在 ShardedSessionFactoryBuilder 上调用 createSessionFactory 方法创建了一个 SessionFactory 示例,如 清单 4 中所示。 当我为我的 Race 对象示例使用 Spring(我主要将其作为一个巨型工厂使用,以返回预配置的对象)时,一切事情就都搞定了。虽然没有展示,RaceDAOImpl 类型是一个利用 Hibernate 模板进行数据存储和检索的对象。我的 Race 类型包含一个 RaceDAOImpl 示例,它将所有与数据商店相关的活动都推迟至此。很默契,不是吗? 请注意,我的 DAO 与 Hibernate Shards 在代码方面并没有绑定,而是通过配置进行了绑定。配置(如 清单 5 中的)将它们绑定在一个特定切分 UUID 生成方案中,也就是说了我可以在需要切分时从已有 Hibernate 实现中重新使用域对象。 Java开发2.0: 使用Hibernate Shards进行切分(6)时间:2010-10-26 IBM Andrew Glover切分:使用 easyb 的测试驱动 接下来,我需要验证我的切分实现可以工作。我有两个数据库并通过距离进行切分,所以当我创建一场马拉松时(10 英里以上的比赛),该 Race 示例应在切分 1 中找到。一个小型的比赛,如 5 公里的比赛(3.1 英里),将在切分 0 中找到。创建一场 Race 后,我可以检查单个数据库的记录。 在清单 10 中,我已经创建了一场马拉松,然后继续验证记录确实是在切分 1 中而非切分 0 中。使事情更加有趣(和简单)的是,我使用了 easyb,这是一个基于 Groovy 的行为驱动开发架构,利用自然语言验证。easyb 也可以轻松处理 Java 代码。即便不了解 Groovy 或 easyb,您也可以通过查看清单 10 中的代码,看到一切如期进行。(请注意,我帮助创建了 easyb,并且在 developerWorks 中对这个话题发表过文章。) 清单 10. 一个验证切分正确性的 easyb 故事中一段摘录
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |