Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实现查询结果更改通知的数据库通用方法_Java_Database - Fatal编程技术网

Java 实现查询结果更改通知的数据库通用方法

Java 实现查询结果更改通知的数据库通用方法,java,database,Java,Database,我们有一个用例,在这个用例中,我们希望Java应用程序知道SELECT查询的结果何时因数据库中的DML更新而改变。在探索中,使用Oracle的“”在Oracle数据库中似乎可以实现这一点(至少有一些限制)。但将数据存储更改为Oracle数据库不是一个选项。我们正在寻找一种可用于以下数据库的解决方案: PostgreSQL MySQL MS SQL Server 进一步的探索发现,MS SQL Server具有类似于Oracle的“查询结果更改通知”的“”。找不到与PostgreSQL和MySQL

我们有一个用例,在这个用例中,我们希望Java应用程序知道SELECT查询的结果何时因数据库中的DML更新而改变。在探索中,使用Oracle的“”在Oracle数据库中似乎可以实现这一点(至少有一些限制)。但将数据存储更改为Oracle数据库不是一个选项。我们正在寻找一种可用于以下数据库的解决方案:

  • PostgreSQL
  • MySQL
  • MS SQL Server
  • 进一步的探索发现,MS SQL Server具有类似于Oracle的“查询结果更改通知”的“”。找不到与PostgreSQL和MySQL等价的版本

    说到这个问题,在PostgreSQL和MySQL数据库中实现这一点的(可能是有效的)方法是什么?是否有任何Java库可以帮助我们知道数据库中的DML更新导致SELECT查询结果何时发生更改


    附言:我已经尽力在这个问题上提供足够的信息。如果需要任何信息,请告诉我。

    Postgrees的等效项是listen/notify。我认为您永远无法从java中完成此操作!文档指向PL/SQL或OLE/ODCB特定的页面。@jokster是对的。我看到了这个很棒的博客,其中提到JDBC驱动程序的一个关键限制是它不能接收异步通知,必须轮询后端以检查是否发出了任何通知。另外,我不认为它与“查询结果更改通知”类似,因为我们必须考虑适当发送通知的逻辑,这与“查询结果更改通知”不同。