Hibernate拦截器onSave和onLoad方法返回null

Hibernate拦截器onSave和onLoad方法返回null,hibernate,Hibernate,我重写Hibernate EmptyInterceptor来捕获一些属性字段以进行一些修饰 公共类MyEntityInterceptor扩展EmptyInterceptor我需要访问 保存前和读取时的字段。我的onSave和onLoad方法如下。但是我的 实体字段返回null。请让我知道你的反馈,我在这里遗漏了什么 public boolean onLoad(Object entity,Serializable id, Object[] state,String[] propertyNames,

我重写Hibernate EmptyInterceptor来捕获一些属性字段以进行一些修饰

公共类MyEntityInterceptor扩展EmptyInterceptor我需要访问

保存前和读取时的字段。我的onSave和onLoad方法如下。但是我的

实体字段返回null。请让我知道你的反馈,我在这里遗漏了什么

public boolean onLoad(Object entity,Serializable id, Object[] state,String[] propertyNames, Type[] types)
        throws CallbackException{

    Persistable entity = (Persistable) entity;
    System.out.println("===============>"+entity.getCreatedBy());//returns null
    return true;
}



public boolean onSave(Object entity, Serializable id, Object[] state, String[] propertyNames, Type[] types) {

    if (entity instanceof IPersistable) {
        IPersistable entity = (IPersistable) entity;
        System.out.println("Created By=================>"+((IPersistable) entity).getCreatedBy());//Returns null

    }

    return (true);
}

在初始化对象之前调用的onLoad方法。请参阅API

。实体将是一个

类的未初始化实例为空。这就是您获得空输出的原因。你的方式

捕获属性不正确。对象[]状态、字符串[]属性名称是键

如果要处理传递的参数,则应使用参数。国家也有责任

值列表和属性名称表示字段列表。请迭代状态[]数组

然后,您将看到预期值。如果你需要进一步的帮助,请告诉我