0
我有一个在Oracle上运行的数据库。我使用Hibernate进行数据访问。无论何时将对象保存在数据库中,我都希望得到通知,以便我可以执行一些自定义工作。我想要一个“事件监听器”,如果你可以称之为的话。有没有办法来检测这样的任务?休眠事件检测器
我有一个在Oracle上运行的数据库。我使用Hibernate进行数据访问。无论何时将对象保存在数据库中,我都希望得到通知,以便我可以执行一些自定义工作。我想要一个“事件监听器”,如果你可以称之为的话。有没有办法来检测这样的任务?休眠事件检测器
Hibernate的水平,这是使用interceptors
在甲骨文级别进行,这就是所谓的触发器:
create or replace trigger <triggername>
before/after insert or update or delete
on <tablename>
for each row/for each statement
...
是否有可能转而使用Hibernate的拦截器保存之前拦截持久化对象,更新或删除? – Attilah 2009-11-04 17:05:40
对不起,我犯了一个错误。是否有可能在Hibernate中使用拦截器拦截持久对象AFTER它被保存,更新或删除? – Attilah 2009-11-04 17:07:11
你看过Interceptor的例子吗?请参阅afterTransactionCompletion()方法,该方法在对象被保存/更新/删除后被称为AFTER。 – mhaller 2009-11-05 14:11:22