这样吧我刚为你做了一个MS SQL Server的触發器的例子,你借鉴一下:
--测试表明触发器行为合格
研究好几天了,没找到好方法.
如果 方法的参数就是你需要记录的那直接AOP就可以,如果是在业务层里面经过一些逻辑获取到保存数据楼主可以考虑抽象一下baseService,方法包括CURD茬CUD 三个方法里AOP切入就可以了。
楼上说的是,你在切面的时候可以做些小动作,比如创建一个map,当数据库有删除或更改的时候,你先让去获取下值,然後放到map里.只需要再来个获取map的方法就可以,map存的时候也可以加一些额外信息,比如时间之类的.菜鸟一时间没想到高深的,还活在代码中.高度还不夠
可以使用AOP啊在数据修改方法的前置通知里写获取该数据的查询方法,并将其保存在其他表中这样就可以记录数据修改前的值。
加个狀态字段把原来的记录状态置为 失效,然后插入一条新的
如果要保存所有历史记录建议使用多版本控制的思想策略