使用java.util.Date

时间:2018-06-07 09:03:57

标签: java spring spring-data querydsl

我正在尝试使用QueryDSL Spring数据网络支持来根据作为请求参数传递的Date的值来过滤REST请求的结果。

目前我从传入的日期开始构建谓词:

@GetRequest("/foos")
public List<Foo> getFoos(@RequestParam(name = "date", required = false) 
    @DateTimeFormat(pattern = "yyyy-MM-dd") Date date) {
     Predicate predicate = QFoo.date.eq(date);
     ...
}

但我想做点什么:

@GetRequest("/foos")
public List<Foo> getFoos(@QueryDslPredicate(root = Foo.class) Predicate predicate) {
     ...
}

但很明显它无法解析Date,因为它不再有关于Date字符串模式的任何信息。有没有办法让这个QueryDSL Web支持使用Date对象?

1 个答案:

答案 0 :(得分:2)

尝试将@DateTimeFormat添加到实体字段:

@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date date;