有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java不为特定列更改创建修订

我有一个经过审核的模型,其中有一列我必须定期更新。但我不想为本专栏的每一处更改创建修订版

是否存在即使属性X已更改也不创建修订的配置


共 (1) 个答案

  1. # 1 楼答案

    做你要求的事情的唯一现成方法是实施条件审计

    文档中描述的条件审核方法要求用户提供自己的事件侦听器,并添加各种if检查,以操纵是否审核行

    在这个新的JIRA中,我记录了一个使用类级注释来控制条件审计HHH-11326的新概念

    其想法很简单,即不必让用户处理事件侦听器注册,每个实体都可以用一个新的注释进行注释,该注释指向一个类,该类可以作为一种方法,通过简单地返回true/false来验证该事件侦听器是否应该执行其工作

    在你的特定情况下,你的听众可能看起来像这样:

    public class MyEntityListener implements AuditEventListener {
      public boolean doPostInsert(Object[] state) {
        // we always insert the new row regardless.
        return true;
      }
    
      public boolean doPostUpdate(Object[] oldState, Object[] newState) {
        // checks state changes and if only toggle-changed, return false.
        return !isToggleOnlyChange( oldState, newState );
      }
    
      public boolean doPreRemove(Object[] oldState) {
        return true;
      }
    }
    

    其想法是,在更新期间,如果只有切换字段发生了更改,返回false将影响侦听器跳过审核