Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的Hibernate拦截器不工作_Java_Hibernate_Spring - Fatal编程技术网

Java 我的Hibernate拦截器不工作

Java 我的Hibernate拦截器不工作,java,hibernate,spring,Java,Hibernate,Spring,我有以下配置: <bean id="myHibernateInterceptor" class="com.foo.interceptor.MyHibernateInterceptor" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation">

我有以下配置:

<bean id="myHibernateInterceptor" class="com.foo.interceptor.MyHibernateInterceptor" />

<bean id="sessionFactory"  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
      <property name="configLocation">
            <value>classpath:hibernate.cfg.xml</value>
      </property>
      <property name="entityInterceptor" ref="myHibernateInterceptor"/>
</bean>

我在面对同样的问题时发现了这个问题。我的onSave()发射得很好,但我的onFlushDirty()发射得不好。我发现需要在saveOrUpdate()之后添加flush()调用。回顾过去,这似乎很明显,但当时并非如此


希望这有帮助。

我在面对同样的问题时发现了这个问题。我的onSave()发射得很好,但我的onFlushDirty()发射得不好。我发现需要在saveOrUpdate()之后添加flush()调用。回顾过去,这似乎很明显,但当时并非如此


希望这有帮助。

您是否已将interceptor置于会话中,也可以在拦截器上使用sessionbuilder:

SessionFactory sessionFactory = getSessionFactory(); 
SessionBuilder sessionBuilder = sessionFactory.withOptions(); 
Session session = sessionBuilder.interceptor(interceptor).openSession(); interceptor.setSessionBuilder(sessionBuilder);
拦截器必须扩展类org hibernate EmptyInterceptor


根据您的业务,您在Save onupdate ondelete postflush等上实现了这些方法。您是否已将interceptor置于会话中,并且您还可以在侦听器上使用sessionbuilder:

SessionFactory sessionFactory = getSessionFactory(); 
SessionBuilder sessionBuilder = sessionFactory.withOptions(); 
Session session = sessionBuilder.interceptor(interceptor).openSession(); interceptor.setSessionBuilder(sessionBuilder);
拦截器必须扩展类org hibernate EmptyInterceptor


根据您的业务,您在Save onupdate ondelete postflush等上实现这些方法乍一看似乎还可以。你的拦截器怎么样?你是否扩展了
EmptyInterceptor
?如果是,您将覆盖哪些方法?也许你可以展示更多的代码。乍一看还可以。你的拦截器怎么样?你是否扩展了
EmptyInterceptor
?如果是,您将覆盖哪些方法?也许你可以展示更多的代码。