除了CRUD操作之外,我不太熟悉数据库和它们提供的功能.
我的研究结果让我得了triggers分.基本上,触发器提供了这类功能:
(从Wikipedia开始)
通常有三个触发事件会导致触发器"触发":
- 插入事件(在数据库中插入新记录时).
- 更新事件(因为记录正在更改).
- 删除事件(因为正在删除记录).
我的问题是:当使用某种触发器语义更新/删除/插入记录时,数据库是否可以以某种方式用Java通知我(最好包括已更改的数据)?
这个问题可能有什么替代解决方案?如何侦听数据库事件?
The main reason I want to do this is a scenario like this:
我有5个客户端应用程序,它们都在不同的进程中/跨不同的PC存在.它们都共享一个公共数据库(在本例中为Postgres).
假设一个客户端更改了数据库中所有5个客户端都"感兴趣"的记录.我正在努力想办法让客户端得到更改的"通知"(最好是附加受影响的数据),而不是让他们每隔一段时间查询数据.