带spring的Hibernate拦截器不拦截

带spring的Hibernate拦截器不拦截,spring,hibernate,spring-data,interceptor,Spring,Hibernate,Spring Data,Interceptor,我正在尝试将拦截器与hibernate结合使用,以便创建一个日志表。 应用程序工作正常,但我的拦截器在本应被触发时从未被触发。 我尝试了堆栈上溢出的解决方案,但没有成功地使其工作 我所做的是: 创建一个实体类,该实体类将作为存储日志的表(UserLog) 创建另一个由拦截器调用的类,该类将填充我的表(dao),在本例中称为UserLogUtil 我尝试了第一种解决方案,通过手动将UserLogUtil设置为单例,并将以下行添加到我的应用程序中。properties:spring.jpa.pr

我正在尝试将拦截器与hibernate结合使用,以便创建一个日志表。 应用程序工作正常,但我的拦截器在本应被触发时从未被触发。
我尝试了堆栈上溢出的解决方案,但没有成功地使其工作

我所做的是:

  • 创建一个实体类,该实体类将作为存储日志的表(
    UserLog
  • 创建另一个由拦截器调用的类,该类将填充我的表(dao),在本例中称为
    UserLogUtil

我尝试了第一种解决方案,通过手动将
UserLogUtil
设置为单例,并将以下行添加到我的应用程序中。properties
spring.jpa.properties.hibernate.ejb.interceptor=LogInterceptor
,使我的拦截器类不依赖于spring
@Autowire

我还通过自动连接
UserLogUtil
尝试了第二种解决方案,但是我的spring配置是xml格式的,尽管我试图转换上面示例中的bean,但没有成功

这就是我的拦截器的外观:

public class LogInterceptor extends EmptyInterceptor {

  private UserLogUtil userLogUtil = UserLogUtil.getInstance();

  public boolean onSave(Object entity,Serializable id, Object[] state,String[] propertyNames,Type[] types)
      throws CallbackException {
    if (entity instanceof Owner){
      userLogUtil.log(........));
    }
    return false;
  }

我想我在建造拦截器的过程中遗漏了一些东西,我的设计可能有缺陷。你有什么想法可以让我的拦截器正常工作吗?

“spring.jpa.properties.hibernate.ejb.interceptor=LogInterceptor”所以你的LogInterceptor在默认包中?或者您在这里使用的是LoginRecepter的完整限定名,对吗?@Jenschauder我在这里使用的是完整限定名:
spring.jpa.properties.hibernate.ejb.interceptor=com.mypackage.LoginReceptor