如果数据库中有任何更新,我的java将如何知道?

时间:2011-12-22 06:53:01

标签: java oracle

  

可能重复:
  Oracle table change monitor

这是在一次访谈中向我询问的问题:

  

我需要在更新内容后立即调用一些java方法   数据库。我可以通过SQL触发器调用一些java方法吗?

2 个答案:

答案 0 :(得分:2)

而不是轮询主表,我建议还有一个表(带有时间戳,原因的列),其中包含对主表的更改摘要。这提高了查询性能。

摘要表上的前1个查询给出了答案。

答案 1 :(得分:1)

通常,您应该避免填充db ffom多个应用程序。这并不总是可行的,所以你需要一些特殊的机制。轮询是您可以做的最好的,但您可以简单地轮询您需要的表,或者由触发器填充的另一个表。

从数据库调用java会违反你的图层bounderies,这是一件坏事。即使数据库以某种方式支持魔术回调机制,我仍然会犹豫不决使用它。