我正在使用 Joda DateTime 和休眠 4 的 UserType 库
我有一个具有以下字段的 JPA 实体
@Columns(columns = { @Column(name = "lastUsedDateTimeStamp"), @Column(name = "lastUsedDateTimeStamp_TMZ") })
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTimeAsString")
private DateTime lastUsedDateTimeStamp;
我正在使用普通的 Spring Data JPA 存储库,如下所示:
return repository.findAll(new PageRequest(0, 5, new Sort(Sort.Direction.DESC, "lastUsedDateTimeStamp"))).getContent();
但是,当我查看 hibernate 在日志中抛出的 sql 时,它以如下方式结束:
order by
entity.lastUsedDateTimeStamp,
entity.lastUsedDateTimeStamp_TMZ asc limit ?
这意味着排序未按预期对 lastUsedDateTimeStamp 列进行,因为“asc”关键字位于 lastUsedDateTimeStamp_TMZ 之后,而不是 lastUsedDateTimeStamp。
有谁知道我可以如何修复它,以便查询在正确的字段上指定“asc”?