0
我試圖在dynamodb中設置訂閱表以跟蹤用戶訂閱的用戶。如何用二級索引對dynamodb映射器進行註釋?
我有一個表與2個字符串屬性,SubscriberID和用戶名訂閱和會像這樣設置(使用名稱爲簡單起見):
[SubscriberID] ------ [UserID]
Dave ------ Steve
Dave ------ Josh
Dave ------ Cam
Cam ------ Dave
Cam ------ Justin
所以它會被解讀:戴夫贊同史蒂夫,喬希和Cam。 Cam訂閱了Dave和Justin ..非常簡單。
我有一個SubscriberID作爲分區鍵的主鍵,所以我可以查詢用戶的訂閱。我還有一個名爲「getSubscribers」的二級索引,它具有UserID作爲分區鍵,因此我可以查詢用戶的用戶。
每次我嘗試保存dynamodb映射器對象時,它都不會顯示在我的「訂閱」表中,但我的其他表格只有一個主鍵輸入正確。
我幾乎可以肯定我的問題是我在我的Subscriber類註釋,我已經試過研究如何做到這一點是正確的設置,我想出了最好的是這個
@DynamoDBTable(tableName = "starter-mobilehub-1604839252-Subscriptions ")
public class Subscription {
private String SubscriberID;
private String UserID;
@DynamoDBHashKey(attributeName = "SubscriberID")
public String getSubscriberID() {return SubscriberID;}
public void setSubscriberID(String UserID) {this.SubscriberID = UserID;}
@DynamoDBIndexHashKey(globalSecondaryIndexName = "getSubscribers", attributeName = "UserID")
public String getUserID() {return UserID;}
public void setUserID(String UserID) {this.UserID = UserID;}
}
我知道,這可能是錯誤的,有誰知道這些註釋應該如何設置正確?任何幫助都是極好的。