DynamoDB排序不可能吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DynamoDB排序不可能吗?相关的知识,希望对你有一定的参考价值。
我将DynamoDB与Spring-boot连接起来。
正常的findAll()是有效的。 Pageable也是有效的。
但是当我插入排序值时,它不是一项工作。我试图使用findAllByOrderByBn()方法。
这是我的表信息。分区键(散列键)是id。排序键(范围键)是bn。
我怎么排序?
@Data
@DynamoDBTable(tableName = "tableName")
public class EntityName implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@DynamoDBHashKey
@DynamoDBAutoGeneratedKey
private String id;
@DynamoDBAttribute private String bn;
@DynamoDBAttribute private String fr; // from
@DynamoDBAttribute private String to; // to
}
@EnableScan
@EnableScanCount
//public interface RepositoryName extends CrudRepository<EntityName, String> {
public interface EthereumTransactionRepository extends PagingAndSortingRepository<EntityName, String> {
/* Find */
Page<EntityName> findAll(Pageable pageable);
Page<EntityName> findByFrAndToBeforeOrderByBnDesc(String fr, String to, Pageable pageable);
}
如果您需要更多代码,请回复我。
答案
首先,如果您尝试基于范围键进行排序,请设置排序键。排序键的注释是@DynamoDBRangeKey。所以将课程改为以下
公共类EntityName实现Serializable {
private static final long serialVersionUID = 1L;
@Id
@DynamoDBHashKey
@DynamoDBAutoGeneratedKey
private String id;
@DynamoDBRangeKey private String bn;
@DynamoDBAttribute private String fr; // from
@DynamoDBAttribute private String to; // to
此外,如果您想按升序或降序排序,可以参考以下文档:https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/dynamodbv2/datamodeling/DynamoDBQueryExpression.html#withScanIndexForward-boolean-
以上是关于DynamoDB排序不可能吗?的主要内容,如果未能解决你的问题,请参考以下文章