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
?如果是,您将覆盖哪些方法?也许你可以展示更多的代码。