You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by bo...@apache.org on 2026/10/22 14:35:47 UTC
(grails-core) branch fix/h7-shared-join-table-key-8.0.x updated (b285330188 -> e859b125a8)
This is an automated email from the ASF dual-hosted git repository.
borinquenkid pushed a change to branch fix/h7-shared-join-table-key-8.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from b285330188 fix(hibernate7): write the rows of unidirectional hasMany collections that share a join table
add 292bc0a327 fix: store a many-to-many that has no belongsTo on either side
add 64345be888 Merge remote-tracking branch 'origin/8.0.x' into fix/hibernate7-many-to-many-without-owner-8.0.x
add f70665145a Revert "fix: store a many-to-many that has no belongsTo on either side"
add 789223cc34 fix: warn at startup when a many-to-many has no belongsTo on either side
add 9eec0fea5c Merge origin/8.0.x into fix/hibernate7-many-to-many-without-owner-8.0.x
add 8fc0fef2cd fix: do not warn about a many-to-many that has a Map side
add 3fc2ce99bc Merge remote-tracking branch 'origin/8.0.x' into fix/hibernate7-many-to-many-without-owner-8.0.x
add 931f1b3d47 Merge 8.0.x into fix/hibernate7-many-to-many-without-owner-8.0.x
add 1a09c005b3 fix(hibernate7): warn about a circular many-to-many that has no owning side
add 8ca766e5a5 test, docs(hibernate7): assert nothing is stored for a circular many-to-many and document its side effects
add 337f3165ad docs(hibernate7): say when the circular join tables hold rows, and place the Map note after the warning
add 3c44a009c7 Merge remote-tracking branch 'origin/8.0.x' into fix/hibernate7-many-to-many-without-owner-8.0.x
add 0eae0f410b Fetch a lazy many-to-one with SELECT when no fetch mode is mapped
add 3cdae7aab9 Cover the many-to-ones of a composite identifier in the binder spec
add d1f7b1ee0a Merge pull request #16663 from hk2166/fix/16659-lazy-many-to-one-fetch-mode
add 7cafb0807b Cache compiled pages again
add 93fa901ed0 Merge pull request #16702 from codeconsole/fix/gsp-compile-cacheable-8.0.x
add 33ce56106e Run without a tenant only inside Tenants.withoutId
add bde47b01fb Merge pull request #16704 from apache/fix/gorm-without-tenant-marker-8.0.x
add 8e1dd223a4 Merge 8.0.x into fix/hibernate7-many-to-many-without-owner-8.0.x
add 943098c653 Merge pull request #16532 from apache/fix/hibernate7-many-to-many-without-owner-8.0.x
add a9eb5c3f94 Bump actions/setup-java from 6.0.1 to 6.1.0
add 2b315dcbf5 Merge pull request #16706 from apache/dependabot/github_actions/actions/setup-java-6.1.0
add 74113fcbe0 Bump the codeql-action group with 2 updates
add af8cea578d Merge pull request #16705 from apache/dependabot/github_actions/codeql-action-9159e49961
add 1978dab17d Restrict lookups by id to the current tenant
add 13304e6789 Convert ids and initialize withoutId proxies as the lookup by key does
add 9d47b98435 Cover lookups by id of an entity mapped with a composite id
add 34c879e803 Return held instances of the current tenant from lookups by id
add b36c2205f5 Stop SchemaBasedMultiTenancySpec from dropping the config database
add e8d235330a Use the 8.0.x cleanup of SchemaBasedMultiTenancySpec
add 70743888e0 Tell withoutId apart from the tenant id DEFAULT
add 14eaf0ce23 Run without a tenant only inside Tenants.withoutId
add d1db00ec21 Merge pull request #16703 from apache/fix/gorm-without-tenant-marker-7.0.x
add 89208a56bf Merge branch '7.0.x' into fix/multi-tenant-get-by-id
add 860f5dba9d Drop the isWithoutId feature that PartitionedMultiTenancyWithoutIdSpec covers
add 0a22d3033f Merge pull request #16515 from apache/fix/multi-tenant-get-by-id
add 555db8cbee [skip tests] Merge branch '7.0.x' into 7.1.x
add 145e0390d0 [skip tests] Merge branch '7.1.x' into 7.2.x
add 993c048ea6 [skip tests] Merge branch '7.2.x' into 8.0.x
add b9423fb2d1 Gate CI through one policy: draft and "no ci" pull requests, and tests by branch and commit marker
add 74db23c3e0 Merge pull request #16673 from apache/ci/conserve-actions-minutes
add c331662519 [skip tests] Merge branch '7.0.x' into 7.1.x
add d2dd9fbc1d [skip tests] Merge branch '7.1.x' into 7.2.x
add 451f924d9f [skip tests] Merge branch '7.2.x' into 8.0.x
add 231a2e70b8 Read and write Map entries through the Map API where the key is user data
add 30e034867e Merge remote-tracking branch 'upstream/8.0.x' into fix/16675-map-entries-named-like-properties
add 03fe486da6 Scope the loaded-map wrapper note to GORM for MongoDB
add 39daa9b0ee Merge pull request #16694 from jdaugherty/fix/16675-map-entries-named-like-properties
add 2b80482194 Build with Gradle 9.8.2
add 9401c2d414 Merge pull request #16710 from codeconsole/deps/gradle-9.8.2
add eba5353643 Keep the Swagger UI webjar out of the asset pipeline in generated apps
add 6cf4ce3687 Explain how to keep Swagger UI out of the asset pipeline in the OpenAPI guide
add 44c15b5638 Link the Closure Compiler issue behind the Swagger UI asset failure
add 52ce9084eb Tell applications generated with 8.0.0 to add the Swagger UI exclude
add 05fc5117d5 Compile the assets of a generated app with the openapi feature
add 75a355a3ae Merge pull request #16708 from apache/fix/16707-openapi-swagger-ui-asset-compile
add 450ff9de9a Restrict lookups by id through withTenant inside withoutId
add 7513d17756 Merge pull request #16727 from apache/fix/lookup-by-id-with-tenant-8.0.x
add 043da861e9 Inject the beans generated ahead of time only once
add bad8047b9f Inject a generated bean whose class its definition does not declare
add afe8ef852b Mark the generated-artifacts processors as new in 8.0.1
add 8aaa181574 Cover the destruction of a bean the generated code created
add 508579a9e2 Inject a bean generated as a superclass only through what its class adds
add ad17e6a383 State what recording the generated definitions relies on
add 4281e587c4 Say in the AOT guide that the injection processors are registered again
add 38d55f3361 Mark the override a generic method resolves to, not the bridge to it
add 1d6f73b3ed Tell what the generated code injected from marks it writes
add 36bb2292ab Leave a member annotated for both processors to the common one
add 7dffe2f178 Prepare the fallback injection under the instance's own class
add 20f2cb27d7 Merge branch '8.0.x' into fix/generated-beans-injected-once-8.0.x
add a348ef9d52 Merge pull request #16709 from codeconsole/fix/generated-beans-injected-once-8.0.x
add 074284c824 Merge remote-tracking branch 'origin/8.0.x' into fix/h7-multiple-hasmany-8.0.x
add e859b125a8 Merge branch 'fix/h7-multiple-hasmany-8.0.x' into fix/h7-shared-join-table-key-8.0.x
No new revisions were added by this update.
Summary of changes:
.agents/skills/gradle-developer/SKILL.md | 22 +-
.github/workflows/benchmark.yml | 14 +-
.github/workflows/build-health.yml | 21 +-
.github/workflows/ci-policy.yml | 142 ++++++
.github/workflows/codeanalysis.yml | 14 +-
.github/workflows/codeql.yml | 13 +-
.github/workflows/codestyle.yml | 21 +-
.github/workflows/coverage.yml | 36 +-
.github/workflows/end-to-end.yml | 25 +-
.github/workflows/forge-deploy-aws.yml | 2 +-
.github/workflows/gradle.yml | 158 +++++--
.github/workflows/groovy-snapshot-canary.yml | 29 +-
.github/workflows/rat.yml | 9 +-
.github/workflows/release-publish-docs.yml | 2 +-
.github/workflows/release-verify.yml | 2 +-
.github/workflows/release.yml | 4 +-
.github/workflows/sitemesh2.yml | 31 +-
.github/workflows/validate-actions.yml | 8 +-
.github/workflows/vulnerability-scan.yml | 10 +-
.sdkmanrc | 2 +-
AGENTS.md | 12 +
CONTRIBUTING.md | 19 +
RELEASE.md | 8 +
.../gradle/wrapper/gradle-wrapper.properties | 2 +-
.../gradle/wrapper/gradle-wrapper.properties | 2 +-
gradle.properties | 2 +-
gradle/wrapper/gradle-wrapper.properties | 2 +-
.../config/GrailsApplicationPostProcessor.groovy | 30 +-
...ifactsAutowiredAnnotationBeanPostProcessor.java | 90 ++++
...ArtifactsCommonAnnotationBeanPostProcessor.java | 79 ++++
.../grails/core/aot/GeneratedBeanDefinitions.java | 310 ++++++++++++++
...ratedInjectionBeanRegistrationAotProcessor.java | 69 +++
.../main/resources/META-INF/spring/aot.factories | 1 +
.../config/GeneratedArtifactsInjectionSpec.groovy | 475 +++++++++++++++++++++
...icationPostProcessorAnnotationConfigSpec.groovy | 84 ++++
.../core/aot/GeneratedBeanDefinitionsSpec.groovy | 251 +++++++++++
...njectionBeanRegistrationAotProcessorSpec.groovy | 117 +++++
.../orm/hibernate/AbstractHibernateDatastore.java | 103 ++++-
.../AbstractHibernateGormStaticApi.groovy | 5 +
.../grails/orm/hibernate/HibernateDatastore.java | 17 +
.../orm/hibernate/cfg/GrailsDomainBinder.java | 10 +-
.../MultiTenantCollectionEventListener.java | 60 +++
.../multitenancy/MultiTenantEventListener.java | 15 +-
.../query/AbstractHibernateCriteriaBuilder.java | 8 +-
.../PartitionedMultiTenancyFilterSpec.groovy | 322 ++++++++++++++
...PartitionedMultiTenancyResolverQuerySpec.groovy | 180 ++++++++
.../PartitionedMultiTenancyWithoutIdSpec.groovy | 230 ++++++++++
.../multiTenancy/discriminatorMultiTenancy.adoc | 17 +
.../grails/orm/hibernate/HibernateDatastore.java | 117 ++++-
.../orm/hibernate/HibernateGormStaticApi.groovy | 8 +
.../cfg/domainbinding/binder/CollectionBinder.java | 41 ++
.../binder/ManyToOneValuesBinder.java | 8 +-
.../ToManyEntityMultiTenantFilterBinder.java | 11 +-
.../MultiTenantCollectionEventListener.java | 61 +++
.../multitenancy/MultiTenantEventListener.java | 11 +-
.../tests/ManyToManyWithoutOwnerWarningSpec.groovy | 307 +++++++++++++
.../domainbinding/ManyToOneValuesBinderSpec.groovy | 126 +++++-
.../ToManyEntityMultiTenantFilterBinderSpec.groovy | 49 ++-
.../PartitionedMultiTenancyFilterSpec.groovy | 322 ++++++++++++++
...PartitionedMultiTenancyResolverQuerySpec.groovy | 180 ++++++++
.../PartitionedMultiTenancyWithoutIdSpec.groovy | 230 ++++++++++
.../MultiTenantEventListenerSpec.groovy | 48 ++-
.../domainClasses/gormAssociation/manyToMany.adoc | 28 ++
.../multiTenancy/discriminatorMultiTenancy.adoc | 17 +
.../datastore/bson/codecs/CodecExtensions.groovy | 12 +-
.../decoders/EmbeddedCollectionDecoder.groovy | 3 +-
.../codecs/BsonPersistentEntityCodecSpec.groovy | 31 +-
.../bson/codecs/CodecExtensionsSpec.groovy | 67 +++
.../decoders/EmbeddedCollectionDecoderSpec.groovy | 20 +
.../MapKeysNamedLikeBeanPropertiesSpec.groovy | 130 ++++++
.../MongoLookupByIdMultiTenancySpec.groovy | 358 ++++++++++++++++
.../asciidoc/multiTenancy/multiTenancyModes.adoc | 12 +
.../docs/src/docs/asciidoc/objectMapping.adoc | 2 +
.../docs/asciidoc/objectMapping/dirtyChecking.adoc | 5 +
.../multitenancy/LookupByIdMultiTenancySpec.groovy | 219 ++++++++++
.../tests/multitenancy/MultiTenancySpec.groovy | 38 ++
.../asciidoc/multiTenancy/multiTenancyModes.adoc | 12 +
.../grails/databinding/SimpleDataBinder.groovy | 11 +-
.../databinding/CollectionBindingSpec.groovy | 15 +
.../grails/databinding/SimpleDataBinderSpec.groovy | 14 +
.../PartitionedMultiTenancyNullTenantSpec.groovy | 100 +++++
...PartitionedMultiTenancyNumericTenantSpec.groovy | 95 +++++
.../partitioned/PartitionedLookupByIdSpec.groovy | 377 ++++++++++++++++
.../PartitionedMultiTenancyWithoutIdSpec.groovy | 201 +++++++++
.../gorm/multitenancy/CurrentTenantHolder.groovy | 30 +-
.../groovy/grails/gorm/multitenancy/Tenants.groovy | 149 +++++--
.../org/grails/datastore/gorm/GormStaticApi.groovy | 281 +++++++++++-
.../multitenancy/MultiTenantEventListener.java | 13 +-
.../gorm/services/DefaultTenantService.groovy | 2 +-
.../multitenancy/CurrentTenantHolderSpec.groovy | 35 ++
.../grails/datastore/gorm/GormStaticApiSpec.groovy | 111 ++++-
.../MultiTenantEventListenerSpec.groovy | 75 +++-
.../mapping/dirty/checking/DirtyCheckingMap.groovy | 43 +-
.../checking/DirtyCheckingCollectionSpec.groovy | 105 +++++
grails-doc/src/en/guide/REST/openApi.adoc | 21 +
.../src/en/guide/deployment/deploymentAot.adoc | 4 +-
.../guide/theWebLayer/controllers/dataBinding.adoc | 2 +
.../src/en/guide/upgrading/upgrading80x.adoc | 51 +++
.../gradle/wrapper/gradle-wrapper.properties | 2 +-
.../build/gradle/templates/buildGradle.rocker.raw | 5 +-
.../templates/gradleWrapperProperties.rocker.raw | 2 +-
.../grails/forge/feature/api/OpenApiSpec.groovy | 16 +
.../feature/assetPipeline/AssetPipelineSpec.groovy | 4 +-
.../OpenApiBuildSpec.groovy} | 17 +-
.../gradle/wrapper/gradle-wrapper.properties | 2 +-
.../views/gsp/GroovyPageForkCompileTask.groovy | 23 +-
.../gsp/GroovyPageBuildCacheFunctionalSpec.groovy | 156 +++++++
.../gradle/wrapper/gradle-wrapper.properties | 2 +-
.../gradle/wrapper/gradle-wrapper.properties | 2 +-
.../gradle/wrapper/gradle-wrapper.properties | 2 +-
.../skills/grails-8-upgrade/SKILL.md | 2 +-
.../web/databinding/GrailsWebDataBinderSpec.groovy | 49 +++
...GrailsWebDataBindingStructuredEditorSpec.groovy | 15 +
.../web/databinding/GrailsWebDataBinder.groovy | 11 +-
.../AbstractStructuredBindingEditor.groovy | 3 +-
115 files changed, 7320 insertions(+), 286 deletions(-)
create mode 100644 .github/workflows/ci-policy.yml
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/GeneratedArtifactsAutowiredAnnotationBeanPostProcessor.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/GeneratedArtifactsCommonAnnotationBeanPostProcessor.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/GeneratedBeanDefinitions.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/GeneratedInjectionBeanRegistrationAotProcessor.java
create mode 100644 grails-core/src/test/groovy/grails/boot/config/GeneratedArtifactsInjectionSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/GeneratedBeanDefinitionsSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/GeneratedInjectionBeanRegistrationAotProcessorSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/multitenancy/MultiTenantCollectionEventListener.java
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/connections/PartitionedMultiTenancyFilterSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/connections/PartitionedMultiTenancyResolverQuerySpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/connections/PartitionedMultiTenancyWithoutIdSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/multitenancy/MultiTenantCollectionEventListener.java
create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/ManyToManyWithoutOwnerWarningSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/connections/PartitionedMultiTenancyFilterSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/connections/PartitionedMultiTenancyResolverQuerySpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/connections/PartitionedMultiTenancyWithoutIdSpec.groovy
create mode 100644 grails-data-mongodb/core/src/test/groovy/org/grails/datastore/gorm/mongo/MapKeysNamedLikeBeanPropertiesSpec.groovy
create mode 100644 grails-data-mongodb/core/src/test/groovy/org/grails/datastore/gorm/mongo/multitenancy/MongoLookupByIdMultiTenancySpec.groovy
create mode 100644 grails-data-neo4j/core/src/test/groovy/grails/gorm/tests/multitenancy/LookupByIdMultiTenancySpec.groovy
create mode 100644 grails-datamapping-core-test/src/test/groovy/grails/gorm/multitenancy/nulltenant/PartitionedMultiTenancyNullTenantSpec.groovy
create mode 100644 grails-datamapping-core-test/src/test/groovy/grails/gorm/multitenancy/numerictenant/PartitionedMultiTenancyNumericTenantSpec.groovy
create mode 100644 grails-datamapping-core-test/src/test/groovy/grails/gorm/multitenancy/partitioned/PartitionedLookupByIdSpec.groovy
create mode 100644 grails-datamapping-core-test/src/test/groovy/grails/gorm/multitenancy/withoutid/PartitionedMultiTenancyWithoutIdSpec.groovy
copy grails-forge/test-core/src/test/groovy/org/grails/forge/features/{geb/GebWithLocalBrowsersSpec.groovy => openapi/OpenApiBuildSpec.groovy} (66%)
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/views/gsp/GroovyPageBuildCacheFunctionalSpec.groovy