我在Azure cosmos DB上使用Spring JPA。
我的代码在这里
public interface DeviceTelemetryRepository extends DocumentDbRepository<DeviceTelemetry, String>{
List<DeviceTelemetry> findAll();
@Query(value="SELECT * FROM DeviceTelemetry where deviceId= ?1 and date >= ?2 and date <= ?3", nativeQuery = true)
List<DeviceTelemetry> findDeviceTelemetryByDeviceIdAndDateGreaterThanEqualAndDateLessThanEqual(@Param("deviceId") int deviceId,
@Param("from") long from,
@Param("to") long to );
}
错误消息:
java.lang.IllegalArgumentException:不支持的关键字: GREATER_THAN_EQUAL(1):[IsGreaterThanEqual,GreaterThanEqual]在 com.microsoft.azure.spring.data.documentdb.repository.query.DocumentDbQueryCreator.from(DocumentDbQueryCreator.java:82) 〜[spring-data-cosmosdb-2.0.3.jar:na]在 com.microsoft.azure.spring.data.documentdb.repository.query.DocumentDbQueryCreator.and(DocumentDbQueryCreator.java:56) 〜[spring-data-cosmosdb-2.0.3.jar:na]在 com.microsoft.azure.spring.data.documentdb.repository.query.DocumentDbQueryCreator.and(DocumentDbQueryCreator.java:25) 〜[spring-data-cosmosdb-2.0.3.jar:na]在 org.springframework.data.repository.query.parser.AbstractQueryCreator.createCriteria(AbstractQueryCreator.java:122) 〜[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]在 org.springframework.data.repository.query.parser.AbstractQueryCreator.createQuery(AbstractQueryCreator.java:95) 〜[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]在 org.springframework.data.repository.query.parser.AbstractQueryCreator.createQuery(AbstractQueryCreator.java:81) 〜[spring-data-commons-2.0.10.RELEASE.jar:2.0.10.RELEASE]
您有什么经验吗?谢谢!
答案 0 :(得分:0)
我找到了spring-data-cosmos db的解决方案。 我从Microsoft Github得到了答案。
https://github.com/Microsoft/spring-data-cosmosdb/issues/347
azure-documentdb-spring-boot-starter是旧版本。