Spring4.2.6+jdk1.8整合hibernate时候报错:
java.lang.NoSuchMethodError: org.hibernate.Session.getFlushMode()Lorg/hibernate/FlushMode;
下面报错信息就不再贴出来了;
其实所有类似报错都反馈出了同样的问题:jar包引入的问题
所以要检查maven引入的jar,不是maven方式管理就比较麻烦了。以下将正确配置贴上:
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<!-- <version>5.2.0.Final</version> -->
<version>4.3.7.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-entitymanager -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<!-- <version>5.4.0.Final</version> -->
<version>4.3.7.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate.common/hibernate-commons-annotations -->
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<!-- <version>5.1.0.Final</version> -->
<version>4.0.5.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.13.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate.javax.persistence/hibernate-jpa-2.1-api -->
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
以上为全量jar,注释部分的版本是因为版本太高了,改为低版本;具体改动什么,需要自己反编译去研究,能否搞懂看自己悟性了。各个jar包的作用以及怎么和spring联系的,这个属于框架层,个人觉得没个5年,是很难摸清楚的。