我试图以这种方式使用布尔构建器
BooleanBuilder builder = new BooleanBuilder();
builder.and(model.record.Id.eq(Id));
builder.and(model.record.date.like(date));
我想通过忽略时间和小时来获取给定日期的记录,所以我想做一个"喜欢"。但我收到以下错误
找不到符号[ERROR]符号:方法如(java.util.Date) 变量日期类型 com.mysema.query.types.path.DateTimePath
有人帮助我如何在mysema中使用?
答案 0 :(得分:1)
你不应该对日期字段使用LIKE,如果只需要获取字段的日期部分,你应该使用Hibernate的DATE函数来忽略时间戳。
使用QueryDSL,您可以使用QueryDSL的date
类中的SQLExpressions
方法调用DATE函数。
因此,使用上面给出的解决方案重写您的查询应该看起来接近他的:
BooleanBuilder builder = new BooleanBuilder();
builder.and(model.record.Id.eq(Id));
builder.and(model.record.date.eq.(SQLExpressions.date(date)));
另外,请查看此link以获取有关SQLExpressions的更多信息。
祝您好运,并随时向我们提供最新结果!