【问题标题】:Hibernate callbacks休眠回调
【发布时间】:2010-11-24 14:01:58
【问题描述】:

我想告诉 hibernate 在我的数据库中插入新行时给我一个回调通知(这一行是由另一个系统/应用程序插入的。)

我正在使用 mysql 集群并复制集群内的数据库。一旦某些数据库发生更改,必须立即通知其他系统有关此更改。

Hibernate 是否支持这种功能?我假设我必须在数据库层上有某种触发器或过程。

【问题讨论】:

  • +1 发人深省的问题

标签: java hibernate


【解决方案1】:

正如 tkopec 所述,除非您有办法让数据库通知您(通常通过某种网络协议),否则您需要定期检查相关表的行。我确实知道有一些模块可以为不同的数据库执行此操作,但我不确定我是否可以为它提出一个特定的用例。

【讨论】:

  • 谢谢。如果数据库是从另一个来源更新的,并且必须通知您的“主”应用程序有关此更改。 (我使用 mysql 集群来避免这些同步问题需要外部协议)
  • 在不了解您的具体应用的情况下,我觉得无法添加更多有用的信息。我知道在我(有些有限的)经验中,我还没有发现需要这样做。但是,如果是这样的话,我祝你好运:)
【解决方案2】:

您可以注册拦截器来监控您的应用程序完成的操作。但不是其他修改AFAIK。我能想到的唯一解决方案是某种轮询您的数据库。除非您的数据库有某种方式通知您更改。但它一定是你的数据库而不是 Hibernate。

【讨论】:

  • IIRC mysql 支持“在插入时执行此操作”之类的触发器。我想我的数据库中一定有这样的东西。
猜你喜欢
  • 2011-12-16
  • 2018-02-18
  • 2020-06-29
  • 2015-04-05
  • 2014-12-28
  • 1970-01-01
  • 2010-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多