我已经在持久化,更新和删除映射实体之前做了触发器来记录动作,但它只在MySQL内部,所以我认为我必须做一个“应用程序级触发器”使用注释@PostPersist
,@PostUpdate
和@PostDelete
。日志表使用JPA 2.1,EclipseLink,JSF 2.0
因此,当实体例如类别获取持续,用于将信息记录到日志表的方法抛出,用下面的SQL:
INSERT INTO log (date_hour, table, id_tuple, user)
VALUES (NOW(), 'category', " + id + ", '" +
FacesContext.getCurrentInstance().getExternalContext().getRemoteUser() + "')";
我做了完全一样的,使用createNativeQuery然后query.executeUpdate(),但什么都没有发生。
什么是做我想做的最好的方法?提醒我正在使用EclipseLink。
谢谢! 我可以使拦截器异步提高性能。 – rsb2097