您是否知道是否可以使用springDataGemfire执行以下操作:
@Query("$1")
List<String> getQuery(String Query);我们正在尝试构建一个动态查询,然后在GemFire上运行它
我们得到以下错误:
从GemfireCallback返回的org.springframework.dao.InvalidDataAccessApiUsageException:结果对象不是SelectResult:
致以最好的问候,法里德
发布于 2017-03-17 10:28:24
法里德-
用于Pivotal GemFire的SDG存储库基础设施和扩展,特别是使用@Query注释的显式OQL查询,从来都不打算以这种方式使用。
本质上,您正在尝试使用SD存储库基础设施来运行“即席”GemFire OQL查询,因此,为什么不直接使用GemfireTemplate,或者甚至使用GemFire的QueryService应用编程接口来实现此目的呢?
您正在尝试做的事情类似于使用Hibernate处理映射和普通查询之外的复杂查询(这并不是Hibernate的真正目的),而JDBC直接(或Spring的JdbcTemplate)更适合高级查询功能。
不过,仍然可以使用混合方法,其中“提供的”SD存储库基础设施处理应用程序的大部分数据访问模式(例如,CRUD、简单查询等),并将其与"custom" implementation相结合。
在我的联系人应用程序RI for SDG,here中,我有一个GemFire的“自定义”存储库实现的示例。CustomerRepository扩展了在CustomerRepositoryImpl类中实现的CustomerRepositoryExtension。在为CustomerRepository接口创建存储库代理时,SD的存储库基础结构将采用此“自定义”实现。在本例中,我让"custom data access/query method调用一个GemFire函数(可以看到here)。
在您的例子中,直接使用SDG或GemFire的QueryService GemfireTemplate运行传入的动态OQL查询非常简单。
希望这能有所帮助!-John
https://stackoverflow.com/questions/42840786
复制相似问题