Skip to content

Unify Hibernate 6 and 7 dialect into single module#228

Merged
KirillKurdyukov merged 12 commits into
mainfrom
refactor/unify-hibernate-dialect
Jul 1, 2026
Merged

Unify Hibernate 6 and 7 dialect into single module#228
KirillKurdyukov merged 12 commits into
mainfrom
refactor/unify-hibernate-dialect

Conversation

@KirillKurdyukov

Copy link
Copy Markdown
Collaborator

Summary

  • Merge hibernate-dialect-v6 and hibernate-dialect-v7 into one hibernate-dialect module (artifact hibernate-ydb-dialect v1.7.0)
  • Shared code in src/main/java (AbstractYdbDialect, hints, types); Hibernate-specific shells in src/hibernate6/java and src/hibernate7/java
  • CI runs tests on Hibernate 6.2.7 (default), 6.6.22 (-Phibernate6) and 7.1.4 (-Phibernate7), same pattern as Spring Data JDBC
  • Remove separate v6/v7 modules and workflows; update Keycloak extension to use unified artifact

Test plan

  • mvn compile (Hibernate 6.2.7 default)
  • mvn -Phibernate6 compile
  • mvn -Phibernate7 compile
  • CI: ci-hibernate-dialect.yaml on JDK 17/21
  • After merge: rebase table-column use_index hint PR onto this module

Made with Cursor

@KirillKurdyukov
KirillKurdyukov force-pushed the refactor/unify-hibernate-dialect branch from 587f282 to 7325f78 Compare June 30, 2026 12:46
KirillKurdyukov and others added 2 commits June 30, 2026 16:05
…, remove v7 module

Preserve v6 file history via git mv. Drop separate hibernate-dialect-v7 module.
Update CI workflows and Keycloak to use unified artifact from local build.

Co-authored-by: Cursor <cursoragent@cursor.com>
H7-specific dialect classes are new files derived from the unified module,
not renames from the removed hibernate-dialect-v7 module.

Co-authored-by: Cursor <cursoragent@cursor.com>
@KirillKurdyukov
KirillKurdyukov force-pushed the refactor/unify-hibernate-dialect branch from 64d3e78 to b9a8618 Compare June 30, 2026 13:06
KirillKurdyukov and others added 7 commits June 30, 2026 16:09
…hangelog

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…_time

Register current_time in the default dialect only; Hibernate 7 overlay keeps its own registry.

Co-authored-by: Cursor <cursoragent@cursor.com>
…ction

current_time maps to CurrentUtcDatetime(), not YDB Time type.

Co-authored-by: Cursor <cursoragent@cursor.com>
YDB has no Time type; use current timestamp or current date instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@KirillKurdyukov
KirillKurdyukov force-pushed the refactor/unify-hibernate-dialect branch from 5157530 to 50af89d Compare July 1, 2026 08:20
KirillKurdyukov and others added 3 commits July 1, 2026 11:42
Drop hibernate6-latest and the broken surefire classpath swap for H7; rebuild with -Phibernate7 instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
YDB has no row-level locks; return an empty string from getForUpdateString for Hibernate 6 and 7.

Co-authored-by: Cursor <cursoragent@cursor.com>
@KirillKurdyukov
KirillKurdyukov merged commit eeb4e73 into main Jul 1, 2026
3 checks passed
@KirillKurdyukov
KirillKurdyukov deleted the refactor/unify-hibernate-dialect branch July 1, 2026 10:21
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.

1 participant