Я пытаюсь использовать Spring-Data-DynamodB.У меня уже есть некоторые предметы в таблице.Я пытаюсь получить их по идентификатору и сортировке по дате.Мой bean-компонент выглядит следующим образом:
@DynamoDBTable(tableName = "TableName")
public class TableName {
@Id
private IDTable id;
private String hashkey;
private LocalDateTime createdTime;
private List<Map<String, AttributeValue>> records;
private String createdBy;
@DynamoDBHashKey(attributeName = "hashkey")
public String getHashkey() {
return id != null ? id.getHashkey() : null;
}
public void setHashkey(String hashkey) {
if(id == null) {
id = new IDTable();
}
id.setHashkey(hashkey);
}
@DynamoDBRangeKey(attributeName = "created_time")
@DynamoDBTypeConverted(converter = LocalDateTimeConverter.class)
public LocalDateTime getCreatedTime() {
return id.getCreatedTime() != null ? id.getCreatedTime() : null;
}
public void setCreatedTime(LocalDateTime createdTime) {
if(id == null) {
id = new IDTable();
}
id.setCreatedTime(createdTime);
}
@DynamoDBAttribute(attributeName = "records")
public List<Map<String, AttributeValue>> getRecords() {
return records;
}
public void setRecords(List<Map<String, AttributeValue>> records) {
this.records = records;
}
@DynamoDBAttribute(attributeName = "created_by")
public String getCreatedBy() {
return createdBy;
}
public void setCreatedBy(String createdBy) {
this.createdBy = createdBy;
}
static public class LocalDateTimeConverter implements DynamoDBTypeConverter<String, LocalDateTime> {
@Override
public String convert(final LocalDateTime time) {
return time.toString();
}
@Override
public LocalDateTime unconvert(final String stringValue) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSz");
return LocalDateTime.parse(stringValue, formatter);
}
}
}
В моем репозитории я определил метод следующим образом:
List<TableName> findByHashkey(String hashKey,Sort sort);
Я хочу, чтобы записи были в порядке сортировки madeTime, но созданный TimeTime считается скорее строкой, чемLocalDateTime и я получаю все записи в порядке сортировки строк.Мне нужно, чтобы они были отсортированы по дате.