编写Spring-JPA(使用Hibernate作为实现)程序时遇到的一些问题
问题1:java.lang.NoSuchMethodError:javax.persistence.PersistenceContext.synchronization()Ljavax/persistence/SynchronizationType;
猜想:
这个问题很有可能是组织jar包的错误,错误的组织jar包导致PersistenceContext有重复导致程序不能工作。
解决方案:
在eclipse中使用ctrl+shift+T打开类型管理器输入PersistenceContext类型,然后可以看到和这个名称同名的所有类都会被显示出来(下图是我已经调好的,如果有问题会看到很多同名的类)。
将所有同名的类所在的jar包删掉,我这边原来同名的有Tomcat中annotations-api.jar和persistence-api-1.0.2.jar包,删除这些包然后重新运行程序就可以了
删除方法:
Tomcat:它的包直接到安装路径lib目录下删除annotations-api.jar就可以了
maven:到pom文件把persistence-api的依赖注掉或者直接删掉更新maven就可以了
未完待续…