使用DynamoDBMapper而不是低级API是否有任何性能影响?我想可能会有很小的性能开销,但是我无法在网上找到任何说明这一点的参考文献。
此处的在线示例还显示了POJO本身使用的映射器注释。这是最好的做法还是更好的方法是让POJO不受影响,并且使用单独的映射器来接收POJO以进行保存,查询,更新等。我看到后者的优点是,如果/当您替换DynamoDB时另一个数据库,它将是一个更清晰的重构,具有额外的抽象层。
答案 0 :(得分:2)
第一点,你很可能不会看到任何显着的性能差异,因为它只是做一些注释处理并缓存它们以减少对它已经看到的类的进一步反思。最好的办法是实际对它进行基准测试,但我认为你会发现它可以忽略不计。
至于你的第二点,我会说"它取决于"基于您希望如何建模数据访问。但是,如果您这样做,那么选择采用抽象POJO的路线,由于映射器处理它们的方式,您必须注意注释。我之前(大约一年前)遇到过问题,其中父类未使用@Table
进行注释,而子类则映射器努力提取正确的注释。