在jdbc连接之间实现视图刷新结果的一致性

时间:2015-12-09 11:52:47

标签: java postgresql materialized-views

大家好日子。 我正在尝试为一些Spring端点编写功能测试(Spring不是这里的关键),它将我的REST应用程序用作黑盒子并尝试通过http连接到它。

算法如下:

  1. 应用程序以空测试数据库
  2. 开始
  3. 测试开始,在@Before方法中,它使用所需数据填充数据库
  4. 测试向应用程序执行http请求并收到答案
  5. 测试将给定的响应与预期的响应进行比较 几乎所有测试都运行良好,但在一种情况下,应用程序使用物化视图,当测试尝试从端点接收数据时,返回的数据几乎为空。当我在@Before方法中创建一个REFRESH MATERIALIZED VIEW SQL时,也会发生这种情况。但是当我在pgadmin(在同一个连接中)这样做时,一切都运行良好。
  6. 我认为,这是因为应用程序首先通过jdbc连接(当数据库和视图为空时),并且当测试的第二个连接刷新实例化视图时,它无法看到其中的更改。

    我是对的吗?

    我的问题是:我应该使用什么算法(我不能更改应用程序查询并在那里添加刷新命令)来解决这个问题? 感谢

1 个答案:

答案 0 :(得分:0)

抱歉,这是由于我的代码中的过滤后建议中的错误