Spring Data GemFire OQL

时间:2017-03-16 17:20:12

标签: gemfire spring-data-gemfire

您知道是否可以使用springDataGemfire执行以下操作:

@Query("$1")
List<String> getQuery(String Query);

我们正在尝试构建动态查询,然后在GemFire上运行它

我们收到以下错误:

org.springframework.dao.InvalidDataAccessApiUsageException:从GemfireCallback返回的结果对象不是SelectResult:

祝你好运, 法里德

1 个答案:

答案 0 :(得分:1)

法里德 -

Pivotal GemFire的SD [G] 存储库基础结构和扩展,特别是使用@Query注释的显式OQL查询,从未打算以这种方式使用。

基本上,您正在尝试使用SD 存储库基础架构来运行&#34; ad hoc&#34;因此,GemFire OQL查询为什么不直接使用GemfireTemplate,甚至GemFire的QueryService API用于此目的?

您尝试做的事情类似于直接使用 Hibernate 进行映射和普通查询之外的复杂查询(这不是 Hibernate 的目的)(或者 Spring JdbcTemplate)更适合提前查询功能。

但是仍然可以使用混合方法,其中&#34;提供&#34; SD 存储库基础架构处理大多数应用程序的数据访问模式(例如CRUD,简单查询等),并将其与"custom" Repository implementation结合使用。

我有一个这样的&#34; custom&#34; SDG的{em>通讯录应用程序 RI中的GemFire的存储库实现,hereCustomerRepository扩展了CustomerRepositoryExtension,它在CustomerRepositoryImpl类中实现。 SD的存储库基础架构选择了这个&#34; custom&#34;为 CustomerRepository 接口创建存储库代理时的实现。在这种情况下,我正在"custom Repository data access/query method调用GemFire函数(可以看到here)。

在您的情况下,直接使用SDG GemfireTemplate或GemFire的QueryService API运行传入的动态OQL查询是一件简单的事情。

希望这有帮助! -John

相关问题