监视mysql的变化

not*_*oop 5 java mysql orm triggers hibernate

我有一个通过hibernate使用MySQL数据库的Java应用程序.数据库实际上用作持久层:在程序的初始加载时读取数据库,然后将记录保存在内存中.

但是,我们正在增加额外的复杂性,其中另一个进程也可能会更改数据库,并且更改反映在Java应用程序上会很好.然而,我并不是特别喜欢每隔几秒钟就使用机制来查询数据库,尤其是数据库很少更新.

有没有办法让回调来监听数据库的变化?触发会有帮助吗?

duf*_*ymo 5

或者更改两个应用程序,以便Java应用程序真正成为MySQL数据库的所有者,并将其作为服务公开.您正在通过执行您提出的建议将数据库级别的两个应用程序耦合在一起.

如果您拥有数据的所有者,则可以隐藏架构更改,例如隐藏在服务界面后面.您还可以使用发布/订阅机制来向相关方提醒有关数据库更改的信息.如果这些事情对您很重要,我会重新考虑让另一个应用程序直接访问MySQL.