java Gradle:无法对不存在的表执行操作
我有一个Java桌面web应用程序,它使用两个Dynamodb表构建和运行,其中一个表(Customers)是创建的,而另一个表(FoodItems)不是。当我试图通过API访问FoodItems时,我得到一个异常:Cannot do operations on a non-existent table
。当我在JUnit测试期间尝试访问FoodItems时,同样的事情是:BUILD FAIL com.amazonaws.services.dynamodbv2.model.ResourceNotFoundException
我知道为什么。这是因为FoodItems表从未创建过。但我不知道在哪里或如何创建它,我甚至不知道Customers表最初是如何创建的
我用的是来自this tutorial的git repository。我刚刚复制了类和JUnit测试,添加了一个FoodItems表。这个项目构建得很好,但是如果我转到^{foodItemRepository.save(fooditem);
行
如果表还不存在,我如何在应用程序启动时创建表
# 1 楼答案
我为DBInitializer创建了一个接口,该接口允许我创建抽象类,如CustomerDBInitializer、FoodItemDBInitializer等。这就是问题的根源。我认为根本原因是因为我使用了Spring和@PostConstruct注释器,并带有一个接口