Я сталкиваюсь с проблемой при написании столбца типа "hstore", в котором предложение jpa запроса данных Spring.
@Transactional(readOnly = true)
@Query(
value = "select ld from LocationData ld inner join fetch ld.assetData ad where ld.assetId in (:assetIds) and ld.orgId = :orgId and ld.eventTimestamp between :startDate and :endDate and ad.source in (:source) and
ad.attr -> 'CorrelationId' is not null",
countQuery = "select count(ld) from LocationData ld inner join ld.assetData ad where ld.assetId in (:assetIds) and ld.orgId = :orgId and ld.eventTimestamp between :startDate and :endDate and ad.source in (:source) and ad.attr -> 'CorrelationId' is not null""
)
Page<LocationData> findByAssetIdInAndOrgIdAndEventTimestampBetween(@Param("assetIds") List<Long> assetIds,
@Param("orgId") Integer orgId,
@Param("startDate") Long startEventTimestamp,
@Param("endDate") Long endEventTimeStamp,
@Param("source") List<String> source,
Pageable pageable);
В приведенном выше запросе "attr" является столбцом типа hstore.У меня есть ключ по имени CorrelationId в столбце attr.Я хочу выбрать для тех, где ключ CorrelationId не является нулевым.Я попытался с "ad.attr -> 'CorrelationId' не является нулевым" в pgAdmin, он работает довольно хорошо, но весной запрос данных jpa не работает и выдает ошибку как неверный идентификатор.
Может кто-нибудь помочь мнена этом.