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

Add hypersistence-utils-hibernate-63 module for Hibernate 6.3 #684

Closed

Conversation

tmvlpl
Copy link
Contributor

@tmvlpl tmvlpl commented Dec 17, 2023

These changes should make the code compatible with Hibernate 6.3 and fix #657.

Details:

  • As suggested in the issue discussion I have removed the PostgreSQLEnumType and deprecated it in the other Hibernate 6 modules.
  • The abstract base classes MutableType and DescriptorImmutableType now implement DomainType<T> instead of SqmExpressible<T>. It looks to me as though DomainType is a kind of SqmExpressible default implementation but I am a bit confused by all the different type interface hierarchies.
  • The explicit cast in the BindArrayTypeQueryParameterTest seems to be necessary, as i could find no way to register the custom function return type with the hibernate sqm.
  • I have updated the optional/test dependency versions in the new module and aligned them with the SpringBoot 3.2 BOM.

@vladmihalcea
Copy link
Owner

Thanks, I'll review it when I have some time.

@YuriMB
Copy link

YuriMB commented Dec 18, 2023

Does it make sense to support 6.3 since hibernate already dropped support? Maybe go straight to 6.4?

And since @Type(PostgreSQLEnumType.class is removed now, does it make sense to mention the migration to something like @JdbcType(PostgreSQLEnumJdbcType.class)? Or is that something that should stay in the documentation of Hibernate?

@vladmihalcea
Copy link
Owner

vladmihalcea commented Dec 18, 2023

@tmvlpl I'll squash the commits and merge it if the tests run fine.

The tests run fine on Hibernate 6.3, but they fail on 6.4. Since 6.3 is no longer maintained, I think that it will be useful to make it work on 6.4 as well.

@vladmihalcea
Copy link
Owner

@tmvlpl I'll merge this PR and create a new issue for 6.4.

@vladmihalcea vladmihalcea added this to the 3.7.0 milestone Dec 18, 2023
@vladmihalcea
Copy link
Owner

vladmihalcea commented Dec 18, 2023

Fixed.

However, while the tests will work on Hibernate 6.3, they will not work on 6.4 because Hibernate keeps on changing the Type contract.

If you will need to have the Types work on Hibernate 6.4, you will need to fix #685

@vladmihalcea vladmihalcea removed this from the 3.7.0 milestone Dec 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a hypersistence-utils-hibernate-63 module for Hibernate 6.3
3 participants