Hibernate4にJodaDateTimeとUserTypeライブラリを使用しています
次のフィールドを持つJPAエンティティがあります
@Columns(columns = { @Column(name = "lastUsedDateTimeStamp"), @Column(name = "lastUsedDateTimeStamp_TMZ") })
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTimeAsString")
private DateTime lastUsedDateTimeStamp;
私は通常のSpringDataJPAリポジトリを次のように使用しています。
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 ?
これは、「asc」キーワードがlastUsedDateTimeStampではなくlastUsedDateTimeStamp_TMZの後にあるため、ソートがlastUsedDateTimeStamp列で期待どおりに機能していないことを意味します。
クエリが正しいフィールドに「asc」を指定するように修正する方法を知っている人はいますか?