当前位置: 首页 > 知识库问答 >
问题:

为什么Hibernate Envers没有在更新时启动?

卫嘉言
2023-03-14

我正在使用Hibernate Envers来审核我的日志表,它是使用Spring配置的。但是,在执行更新、修改或删除操作时,不会发生审核。以下是配置。

Spring配置

<property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.bytecode.use_reflection_optimizer">true</prop>
                <prop key="hibernate.order_updates">true</prop>
                <prop key="hibernate.cache.use_second_level_cache">false</prop>
                <prop key="hibernate.query.substitutions">true 'Y', false 'N'</prop>

            <prop key="hibernate.connection.SetBigStringTryClob">true</prop>
            <prop key="hibernate.jdbc.use_streams_for_binary">true</prop>
            <prop key="SetBigStringTryClob">true</prop>

            <!--envers config-->
            <prop key="org.hibernate.envers.audit_table_suffix">_AUDITING</prop>
            <prop key="org.hibernate.envers.revision_field_name">revision_id</prop>
            <prop key="org.hibernate.envers.revision_type_field_name">revision_type</prop>

            <!--envers listners-->
            <prop key="hibernate.ejb.event.post-insert">org.hibernate.ejb.event.EJB3PostInsertEventListener,org.hibernate.envers.event.AuditEventListener</prop>
            <prop key="hibernate.ejb.event.post-update">org.hibernate.ejb.event.EJB3PostUpdateEventListener,org.hibernate.envers.event.AuditEventListener</prop>
            <prop key="hibernate.ejb.event.post-delete">org.hibernate.ejb.event.EJB3PostDeleteEventListener,org.hibernate.envers.event.AuditEventListener</prop>
            <prop key="hibernate.ejb.event.pre-collection-update">org.hibernate.envers.event.AuditEventListener</prop>
            <prop key="hibernate.ejb.event.pre-collection-remove">org.hibernate.envers.event.AuditEventListener</prop>
            <prop key="hibernate.ejb.event.post-collection-recreate">org.hibernate.envers.event.AuditEventListener</prop>

        </props>
    </property>

我已经将@Audited注释添加到实体类中。我使用的是Hibernate core 3.5.0-Final和envers的相同版本。

当我检查hibernate记录的SQL时,我可以看到更新查询已经执行,但没有任何将数据插入审计表的查询。这里怎么了?

共有1个答案

公良修竹
2023-03-14

问题解决时改变org.springframework.orm.hibernate3.LocalSessionFactoryBean到org.springframework.orm.hibernate3.annotation.注释SessionFactoryBean

 类似资料:
  • 我想安装Primeng7.0.0到我的Angular项目,但首先我需要更新我的JHipster到最后一个版本。 当我将此命令写入terminal时,我得到以下错误

  • 我试图利用k8s守护程序集的滚动更新来在守护程序集的spec.template字段发生更改时进行自动滚动更新。我故意为豆荚放了一个无效的映像,这样豆荚就不能正确启动了。我认为,当不可用豆荚的数量超过中定义的数量时,可以停止滚动更新。不幸的是,它不会发生,并且在所有豆荚进入Crashloopbackoff之前,豆荚一直在更新。 正如线程中所建议的,我添加了 为了确保容器运行良好,设置pod可用或不可

  • 与其他包管理器(如)相比,我发现当更新与给定项目相关的包时,有一种奇怪的行为。 还根据留档,和选项 根据composer.json将依赖项升级到最新版本,并更新composer.lock文件。 事实上,正确地更新了新的包版本号。但是没有被修改,并且列出了旧的版本过低的包。 为什么会发生这种情况?是我做错了什么,还是这就是应该怎么做的?如果是这样的话,为什么两个文件中的一个是最新的,而另一个不是最新

  • 我对android很陌生,刚开始学。我已经安装了android Studio。当我启动它的时候,它试图更新组件,但是没有更新任何东西。确实出现了一条消息,说没有要更新的内容,当我单击“完成”时,没有任何反应。 我附上了错误的截图。请告诉我如何解决这个问题。提前感谢。

  • 我有一个错误,不健康的pod,即使我认为pod在重新安排后按预期工作。如果我重新启动(删除)它,它就准备好了,但我想了解为什么它最终会处于不健康状态。 我的探头很简单,就像这样: 事件: 状态 如果我跑了 我得到200英镑。好的。 有人能解释为什么吊舱没有准备好吗?我想这与OOMKilled有关,因为内存限制,这应该是固定的。但我想知道为什么它不能正确重启。