Я занимаюсь разработкой IoT-приложения.
Данные находятся в базе данных Azure Cosmos.
пример)
{
"id": "3ebd07c0-0740-466f-acb4-1e04a58cdf1a",
"serviceId": 1,
"deviceId": 1,
"contents": "{\"temperature\":34.797642257199705,\"humidity\":79.18982439419167,\"illuminance\":100}",
"date": 1552376519931
}
Итак. Я хочу использовать пользовательский запрос, подобный этому
public interface DeviceTelemetryRepository extends DocumentDbRepository<DeviceTelemetry, String> {
@Query("SELECT a.deviceId FROM device_telemetry a where a.deviceId=:deviceId and a.date >=:from and a.date <=:to")
List<DeviceTelemetry> findTelemetryByDeviceId(@Param("deviceId") int deviceId,
@Param("from") long from,
@Param("to") long to );
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DeviceTelemetry {
private String id;
private int serviceId;
private int deviceId;
private String contents;
private long date;
}
Но это не работает.
Я уже проверил его запрос и данные на портале Azure. Это было хорошо.
Я думаю, что «DeviceTelemetryRepository расширяет DocumentDbRepository» не может распознать @ Query.
Есть ли у вас какие-либо предложения о Spring Boot JPA + Azure Cosmos DB?
Спасибо!