我试图在一个沙发床的Spring数据存储库接口中创建一个方法来使用java.util.Date参数进行查询,如下所示:

@Query("#{#n1ql.selectEntity} where #{#n1ql.filter} and beginDate < $0")
public Set<Campaign> findBroadcastable(Date now);


但是在执行时会引发此异常:

java.lang.IllegalArgumentException: Unsupported type for JsonArray: class java.util.Date


会有人解决吗?

最佳答案

我在N1QL中进行了转换,而不是将Date作为参数发送string

@Query("h.*, META(h).id AS _ID, META(h).cas AS _CAS FROM
#{#n1ql.bucket} as h WHERE MILLIS_TO_STR(h.creadoEn ,'1111-11-11') = '#{#creadoEn}' AND h.#{#n1ql.filter}")
List<y> findByFecha(@Param("creadoEn") String creadoEn);


MILLIS_TO_STR将milis转换为日期,我将其格式设置为“ 1111-11-11”为“ yyyy-mm-dd”,并将其与作为参数发送的String进行比较。

原谅我的英语不好,我希望我有所帮助

07-25 21:11