版本3.0.7中的HibernateItemReaderHelper不适用于Hibernate 5.2.x.

时间:2017-06-11 21:45:54

标签: hibernate spring-boot spring-batch

我正在使用Springboot编写批处理,并且在读取阶段使用HibernateItemReaderHelper。我在依赖项中也有hibernate 5.2.x的依赖。在执行过程中,我收到以下错误:

  

java.lang.NoSuchMethodError:   org.hibernate.StatelessSession.createQuery(Ljava /郎/字符串;)Lorg /休眠/查询;

我很惊讶因为在Maven存储库中这是最后一个版本,它与Hibernate 5.1或者更高版本没有兼容性,因为它不会返回org.hibernate.query.Query类的Object,而是org.hibernate.Query。

我遗漏了一些东西才能使用Spring Batch和Hibernate 5.2 ??

提前致谢。

2 个答案:

答案 0 :(得分:1)

SpringBatch 3.x不支持Hibernate 5.x.您需要升级到Spring Batch 4才能获得支持。

答案 1 :(得分:0)

正如迈克尔所说,版本4.0.0或更高版本应该可行。在我的情况下使用Spring启动问题是Spring Batch 4.0.0不在标准的Maven存储库中。添加Alfresco存储库解决了我的问题。

<repositories>
      <repository>
        <id>Alfresco Public</id>
        <url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
      </repository>
</repositories>