有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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 tutorialgit repository。我刚刚复制了类和JUnit测试,添加了一个FoodItems表。这个项目构建得很好,但是如果我转到^{,我会得到上面的异常。。。它特别发生在JUnit测试中的foodItemRepository.save(fooditem);

如果表还不存在,我如何在应用程序启动时创建表


共 (1) 个答案

  1. # 1 楼答案

    我为DBInitializer创建了一个接口,该接口允许我创建抽象类,如CustomerDBInitializer、FoodItemDBInitializer等。这就是问题的根源。我认为根本原因是因为我使用了Spring和@PostConstruct注释器,并带有一个接口