forked from michaellavelle/spring-data-dynamodb
-
Notifications
You must be signed in to change notification settings - Fork 139
Open
Description
If you have custom override table name you can't use findAllById method.
@Value("${spring.profiles.active}")
private String env;
@Bean
public DynamoDBMapperConfig dynamoDBMapperConfig() {
// Create empty DynamoDBMapperConfig builder
Builder builder = builder();
// Inject the table name overrider bean
builder.setTableNameOverride(TableNameOverride.withTableNamePrefix(env));
builder.setTableNameResolver((clazz, config) -> clazz.getAnnotation(DynamoDBTable.class).tableName() + "_" + env);
// Sadly this is a @deprecated method but new DynamoDBMapperConfig.Builder() is incomplete compared to DynamoDBMapperConfig.DEFAULT
return new DynamoDBMapperConfig(DEFAULT, builder.build());
}
Expected Behavior
DynamoDBTemplate.getOverriddenTableName called in findAllById method should resolve table name as tableName + '_' + env
Actual Behavior
DynamoDBTemplate.getOverriddenTableName called in findAllById method resolved as env + tableName
Steps to Reproduce the Problem
- Create bean DynamoDBMapperConfig as I describe above
- Create repository of some table
- Call findAllById with List of ids
Specifications
- Spring Data DynamoDB Version: 5.0.2
- Spring Data Version: 2.0.5.RELEASE
- AWS SDK Version: 1.11.304
- Java Version: 1.8.0_60 - Java HotSpot(TM) 64-Bit Server VM 25.60-b23
- Platform Details: Mac OS X 10.13.2