- 内容提要
- 序
- 前言
- 第一部分 背景知识
- 第 1 章 Spring Data 项目
- 第 2 章 Repository:便利的数据访问层
- 第 3 章 使用 Querydsl 实现类型安全的查询
- 第二部分 关系型数据库
- 第 4 章 JPA Repository
- 第 5 章 借助 Querydsl SQL 实现类型安全的 JDBC 编程
- 第三部分 NoSQL
- 第 6 章 MongoDB: 文档存储
- 第 7 章 Neo4j:图数据库
- 第 8 章 Redis:键/值存储
- 第四部分 快速应用开发
- 第 9 章 使用 Spring Roo 实现持久层
- 第 10 章 REST Repository 导出器
- 第五部分 大数据
- 第 11 章 Spring for Apache Hadoop
- 第 12 章 使用 Hadoop 分析数据
- 第 13 章 使用 Spring Batch 和 Spring Integration 创建大数据管道
- 第六部分 数据网格
- 第 14 章 分布式数据网格:GemFire
- 关于封面
14.5 使用 GemfireTemplate 进行数据访问
Spring Data GemFire 提供了一个类似于 JdbcTemplate、JmsTemplate 的数据访问模板类,GemfireTemplate 包装了一个域,并提供了简单的数据访问和查询方法以及回调接口来访问域操作。使用 GemfireTemplate 的主要原因之一就是它可以将 GemFire 检查异常转换为 Spring 的 PersistenceException 运行时异常体系。这简化了原生 Region API 所需的异常处理,并且还可以使用模板与 Spring 的声明式事务更加无缝结合,在这里会用到 GemfireTransactionManager,它与其他所有的 Spring 事务管理器类似,在默认情况下可以对运行时异常执行回滚(但不是检查型异常)。@Repository 组件也可进行异常转换,事务将运行在使用 @Transactional 的方法上,该方法会直接使用 Region 接口,但是需要更进一步的处理。
示例 14-11 简单地展示了使用 GemfireTemplate 的数据访问对象。注意 findByLastName(…) 方法的实现需要调用 template.query()。GemFire 使用对象查询语言(Object Query Language,OQL)来进行查询。此方法只需要一个 boolean 断言来定义查询条件,查询的主体假定为 SELECT * from [region name] WHERE...。该模板还实现了 find(…) 与 findUnique(…) 方法,接受参数化的查询字符串以及相关的参数,并且隐藏了 GemFire 底层的 QueryService API。
示例 14-11 使用 GemfireTemplate 实现 Repository


可以将 GemfireTemplate 配置为普通的 Spring Bean,如示例 14-12 所示。
示例 14-12 GemfireTemplate 配置

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论