spring boot 一配PersistenceExceptionTranslationPostProcessor就报错

问题已经解决,不过还有个小问题,这个类
PersistenceExceptionTranslationPostProcessor
是干嘛的?
不知道为什么这里用的是JPA配置类,感觉是很古老的用法

@Order(Ordered.HIGHEST_PRECEDENCE)
@Configuration
@EnableTransactionManagement(proxyTargetClass = true)
@EnableJpaRepositories(basePackages = "dbdemo.mysql.repository")
@EntityScan(basePackages = "dbdemo.**.entity")
public class JpaConfiguration {
    @Bean
    PersistenceExceptionTranslationPostProcessor persistenceExceptionTranslationPostProcessor(){
        return new PersistenceExceptionTranslationPostProcessor();
    }
}

还有用spring boot 1.4.2 发现 @EntityScan 过时了,用什么代替?(好像把整个JPA配置类去掉都没问题)

阅读 7.7k
1 个回答
新手上路,请多包涵

网上说的:当使用Hibernate上下文的Session时,抛出的就不是Spring的异常,而是HibernateException,如果我们还想看到Spring的异常体系,就需要做点设置,当然这也很简单。

在DAO实现类上加@Respository注解,并且注册一个PersistenceExceptionTranslationPostProcessor实例即可。

换句话说,因为这里使用的是springboot提供的jpa,注册这个bean根本是多余的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题