feat: wire Hibernate 7 adapter to GormRegistry O(M+N) scaling#15787
Open
borinquenkid wants to merge 1 commit into
Open
feat: wire Hibernate 7 adapter to GormRegistry O(M+N) scaling#15787borinquenkid wants to merge 1 commit into
borinquenkid wants to merge 1 commit into
Conversation
6f5c31f to
590e21c
Compare
cd01f3d to
b9e01f9
Compare
590e21c to
b97eaeb
Compare
b9e01f9 to
43a547a
Compare
b97eaeb to
3cc9135
Compare
43a547a to
f108fca
Compare
3cc9135 to
a884511
Compare
f108fca to
4bbe71e
Compare
a884511 to
cba09b6
Compare
4bbe71e to
54f1e3d
Compare
cba09b6 to
d663ee9
Compare
54f1e3d to
12ea8b0
Compare
d663ee9 to
6d53d02
Compare
12ea8b0 to
3d0ff1a
Compare
6d53d02 to
edbbbb4
Compare
3d0ff1a to
af5f9b8
Compare
…store init Wires Hibernate 7 to the new GormRegistry with correct child datastore initialization order, fixing the gaps that PR #15771 intentionally deferred: - HibernateDatastore (H7): registers child datastores with GormRegistry eagerly during initialization, preserving schema/database/datasource routing - HibernateGormInstanceApi: use getHibernateTemplate() lazy getter for isAttached(), lock(), and attach() — factory constructor leaves the field null - HibernateGormStaticApi: executeQuery(query, Map) passes params as both named params and query settings so max/offset pagination is applied - HibernateSession: coerceId() converts String IDs to the entity's declared identifier type in retrieveAll(), fixing String→Long lookup mismatch - HibernateGormEnhancerSpec: updated to use GormRegistry public API - HibernateDirtyCheckingSpec / HibernateUpdateFromListenerSpec: local Person renamed to DirtyCheckPerson to avoid DuplicateMappingException with TCK - grails-test-examples/hibernate7: demo33 UniqueConstraintOnHasOneSpec @NotYetImplemented removed (test now passes); GormAdvancedSpec pagination fixed - grails-data-hibernate7-core GormApiAllocationSpec: verifies O(M+N) API count across single-datasource, multi-datasource, and multi-tenant configurations Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
edbbbb4 to
54d8eaa
Compare
af5f9b8 to
cde33f4
Compare
🚨 TestLens detected 40 failed tests 🚨Here is what you can do:
Test SummaryCI / Build Grails-Core (macos-latest, 21) > :grails-data-graphql-core:test
CI / Build Grails-Core (ubuntu-latest, 21) > :grails-data-graphql-core:test
CI / Build Grails-Core (ubuntu-latest, 21) > :grails-data-simple:test
CI / Build Grails-Core (ubuntu-latest, 25) > :grails-data-graphql-core:test
CI / Build Grails-Core (ubuntu-latest, 25) > :grails-data-simple:test
CI / Build Grails-Core (ubuntu-latest, 25) > :grails-datamapping-core:test
CI / Build Grails-Core Rerunning all Tasks (ubuntu-latest, 21) > :grails-data-graphql-core:test
🏷️ Commit: cde33f4 Test Failures (first 10 of 40)CreateEntityDataFetcherSpec > test get (:grails-data-graphql-core:test in CI / Build Grails-Core (macos-latest, 21))DeleteEntityDataFetcherSpec > test get (:grails-data-graphql-core:test in CI / Build Grails-Core (macos-latest, 21))DeleteEntityDataFetcherSpec > test get invalid (:grails-data-graphql-core:test in CI / Build Grails-Core (macos-latest, 21))EntityDataFetcherSpec (:grails-data-graphql-core:test in CI / Build Grails-Core (macos-latest, 21))SingleEntityDataFetcherSpec (:grails-data-graphql-core:test in CI / Build Grails-Core (macos-latest, 21))SoftDeleteEntityDataFetcherSpec (:grails-data-graphql-core:test in CI / Build Grails-Core (macos-latest, 21))UpdateEntityDataFetcherSpec > test get (:grails-data-graphql-core:test in CI / Build Grails-Core (macos-latest, 21))UpdateEntityDataFetcherSpec > test optimistic locking (:grails-data-graphql-core:test in CI / Build Grails-Core (macos-latest, 21))UpdateEntityDataFetcherSpec > test optimistic locking with null version (:grails-data-graphql-core:test in CI / Build Grails-Core (macos-latest, 21))CreateEntityDataFetcherSpec > test get (:grails-data-graphql-core:test in CI / Build Grails-Core (ubuntu-latest, 21))Muted Tests (first 20 of 40)Select tests to mute in this pull request:
Reuse successful test results:
Click the checkbox to trigger a rerun:
Learn more about TestLens at testlens.app. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Wires the Hibernate 7 adapter into the
GormRegistryintroduced in #15780.HibernateGormApiFactory(H7) — factory that createsHibernateGormStaticApi,HibernateGormInstanceApi, andHibernateGormValidationApiinstances typed to the H7HibernateDatastoreHibernateGormEnhancer.registerConstraints()(H7) — registersHibernateGormApiFactorywithGormRegistryso Hibernate 7-typed APIs are used for all H7 entitiesGormAutoTimestampFlushEntityEventListener— new H7 flush listener that respects the registry-based session lifecycleHibernateDatastoreinstances (per-tenant DATABASE mode) are registered with the registry on creationHibernateGormApiFactorySpec,GormRegistryScalabilitySpec,HibernateTenantContextProfilingSpec,HibernateTransactionManagerSpecTest plan
./gradlew :grails-data-hibernate7:testpasses-Phibernate7.gorm.suiteStack
🤖 Generated with Claude Code