在Dynamo中,改变带注释集的内容并获取pojo映射器类的方法来执行某些编组任务是否安全/正确?
e.g。
(function ($) {
$(document).ready(function(){
var categoryItems = [];
var mainItemName = "{{page.name}}";
Product.findAll({}, function(products) {
var lastItem = products.length - 1;
$.each(products, function(i, product) {
var productItem = {
itemText: product.name,
itemPrice: product.price,
imageLink: product.images[0].url,
secondaryImages: [product.url],
externalLink: true
};
if(product.categories[0]) {
for(j = 0; j < product.categories.length; j++) {
if(product.categories[j].name === mainItemName) {
categoryItems.push(productItem);
}
};
}
if(i === lastItem ) {
$('.portfolio_page').createPortfolio({
imagesPerRow: 3,
gridType: 'masonry',
captionType: 'static',
imagesPerPage: 8,
paginationPosition: 'scroll',
imageWidth: 1000,
imageHeight: 1000,
enablePopupInfo: true,
portfolioItems: categoryItems
});
}
});
});
});
})(jQuery);
其中title和author不是属性,而是类中的字段
注意:我理解上面的例子是对Dynamo的不良使用,标题和作者应该只是单独的字段,但它只是一个简单的例子。
答案 0 :(得分:1)
Mapper使用反射/内省来确定要映射到DynamoDB项中的属性值的字段。因此,对Mapper唯一重要的是您注释的set / getBookInfo方法的签名。您对传入和传出这些方法的值所做的是您的实现细节。如果Mapper支持签名中的数据类型,那么Mapper将能够解释项目中的AttributeValue。