Spring Boot - java.lang.ClassNotFoundException:org.hibernate.engine.transaction.spi.TransactionContext

use*_*092 0 hibernate spring-data spring-boot

我是Spring Boot的新手.我正在尝试使用Hibernate创建一个Web应用程序,但我遇到了这些错误.我看了类似的问题,但我找不到解决方案.我该如何解决?

2016-12-19 18:56:39.328 INFO 143744 --- [main] org.hibernate.Version:HHH000412:Hibernate Core {5.0.11.Final}

java.lang.ClassNotFoundException:java.net.URLClassLoader.findClass中的org.hibernate.engine.transaction.spi.TransactionContext(URLClassLoader.java:381)〜[na:1.8.0_91] java.lang.ClassLoader.loadClass(ClassLoader) .java:424)〜[na:1.8.0_91] at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:331)〜[na:1.8.0_91] at java.lang.ClassLoader.loadClass(ClassLoader.java :org.springframework.orm.hibernate4.HibernateTransactionManager.isSameConnectionForEntireSession(HibernateTransactionManager.java:711)〜[spring-orm-4.3.4.RELEASE.jar:4.3.4.RELEASE]:357)〜[na:1.8.0_91] org.springframework.orm.hibernate4.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:445)〜[spring-orm-4.3.4.RELEASE.jar:4.3.4.RELEASE] org.springframework.transaction.support.AbstractPlatformTransactionManager. org.springframework.transaction.interceptor.TransactionAspectSupport.createTransac中的getTransaction(AbstractPlatformTransactionManager.java:373)〜[spring-tx-4.3.4.RELEASE.jar:4.3.4.RELEASE] 在ifg.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:277)〜[spring]的ifIfNecessary(TransactionAspectSupport.java:447)〜[spring-tx-4.3.4.RELEASE.jar:4.3.4.RELEASE] -tx-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)〜[spring-tx-4.3.4.RELEASE.jar: 4.3.4.RELEASE]在org.springframework的org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)〜[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE].在com.sun.proxy上的aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)〜[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE.$ Proxy77.listPosts(Unknown Source)〜 [na:na] at com.monat.service.PostServiceImpl.listPosts(PostServiceImpl.java:24)〜[classes /:na] at com.monat.controller.PostController.list(PostController.java:20)〜[classes/:NA]

我的pom.xml依赖项

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>

    </dependencies>
Run Code Online (Sandbox Code Playgroud)

我的Controller类

@Controller
@RequestMapping("/posts")
public class PostController 
{

    @Autowired
    PostService postService;

    @RequestMapping(value="", method=RequestMethod.GET)
    public String list(Model model){
        model.addAttribute("listData",postService.listPosts());

        return "list";
    }

}
Run Code Online (Sandbox Code Playgroud)

我的服务类

@Service
public class PostServiceImpl implements PostService{

    @Autowired
    PostDao postDao;

    @Override
    public List<Post> listPosts() {
        return postDao.listPosts();
    }

}
Run Code Online (Sandbox Code Playgroud)

我的存储库类

@Repository
public class PostDaoImpl implements PostDao{

    @Autowired
    private SessionFactory sessionFactory;

    public PostDaoImpl(){}

    public PostDaoImpl(SessionFactory sessionFactory){
        this.sessionFactory=sessionFactory;
    }

    @Override
    @Transactional
    public List<Post> listPosts() {

        @SuppressWarnings("unchecked")
        List<Post> listPost2 = (List<Post>) sessionFactory.getCurrentSession().createQuery("from Post");

        return listPost2;
    }

}
Run Code Online (Sandbox Code Playgroud)

use*_*092 6

我已经解决了.我已经删除了这部分我的配置类,它已经解决了.

  @Bean
  public HibernateTransactionManager transactionManager() {
    HibernateTransactionManager transactionManager = 
        new HibernateTransactionManager();
    transactionManager.setSessionFactory(sessionFactory().getObject());
    return transactionManager; 
Run Code Online (Sandbox Code Playgroud)