Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spring 4.3.2 HibernateTemplate#findByNamedQuery isn't compatible with Hibernate 5.0 [SPR-14676] #19240

Closed
spring-projects-issues opened this issue Sep 7, 2016 · 3 comments
Assignees
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

@spring-projects-issues spring-projects-issues commented Sep 7, 2016

Steve Storey opened SPR-14676 and commented

https://github.com/spring-projects/spring-framework/blob/master/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java#L958 attempts to be compatible with Hibernate 5.x, but because it's compiled against 5.2, the compiler then requires that the runtime method return a org.hibernate.query.Query instance, and thus when running with standard Spring Boot 1.4 versions, you get:

java.lang.NoSuchMethodError: org.hibernate.Session.getNamedQuery(Ljava/lang/String;)Lorg/hibernate/query/Query;
        at org.springframework.orm.hibernate5.HibernateTemplate$32.doInHibernate(HibernateTemplate.java:958)
        at org.springframework.orm.hibernate5.HibernateTemplate$32.doInHibernate(HibernateTemplate.java:954)
        at org.springframework.orm.hibernate5.HibernateTemplate.doExecute(HibernateTemplate.java:356)
        at org.springframework.orm.hibernate5.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:323)
        at org.springframework.orm.hibernate5.HibernateTemplate.findByNamedQuery(HibernateTemplate.java:954)
        at example.HibernateTemplateBugTest.testFindByNamedQuery(HibernateTemplateBugTest.java:28)

in the attached reproduction test when run with simply

mvn clean test

If however, you override the standard Hibernate version to 5.2.2 then the test succeeds by running

mvn -Dhibernate.version=5.2.2.Final clean test

Affects: 4.3.2

Attachments:

Issue Links:

  • #18996 HibernateTemplate not binary-compatible with Hibernate 5.0/5.1's Query type

Referenced from: commits 12afc26, d631b4c

@spring-projects-issues
Copy link
Collaborator Author

@spring-projects-issues spring-projects-issues commented Sep 7, 2016

Steve Storey commented

From the looks of things, it just needs a similar fix to 19e5a34 to be applied to the findByNamedQuery, findByNamedQueryAndNamedParam, and findByNamedQueryAndValueBean methods as well?

@spring-projects-issues
Copy link
Collaborator Author

@spring-projects-issues spring-projects-issues commented Sep 9, 2016

Juergen Hoeller commented

Good catch! Fixed in master now, to be backported to 4.3.3 early next week.

@spring-projects-issues
Copy link
Collaborator Author

@spring-projects-issues spring-projects-issues commented Sep 15, 2016

Juergen Hoeller commented

It would be great if you could give the latest 4.3.3.BUILD-SNAPSHOT a try...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants