This is an automated email from the ASF dual-hosted git repository.
borinquenkid pushed a change to branch 8.0.x-hibernate7-dev
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from a10ab1f03f hibernate 7:
add 9c1f886861 better fixes for PredicateGenerator
add a3894ca89e Add countResults() to Query for H5/H7-aware projected
counting
add 9410b70ada Port 14 missing test specs from H5 to H7
add 5aa907fdf5 Add proxy handler and ByteBuddy proxy test coverage for H7
add 0aa40193a7 Port test example apps and files for H7 parity
add dd3d0da2c2 Implement multi-datasource TCK support for H7
add e1783b3742 Update H7 README to reflect current test status
add 6198d9293f Replace @RestoreSystemProperties with manual cleanup() in
H7 multi-tenant spec
add 8364903e82 Implement H7 derived-table countResults() and restore H5
warning
add d191944a80 Fix H7 countResults() nullable projection and association
NPE
add 54f25680ca Fix checkstyle and codenarc violations across H5, H7, and
datastore-core
add 28c923adda Fix codenarc violations in datamapping-core and
datamapping-tck
add 8f8b7dbd66 Add missing micronaut test dependencies to H7
multiple-datasources test app
add 84825ba25f Fix codestyle CI script failing when build/ directory does
not exist
new f513c2a13a Merge branch '8.0.x-hibernate7-bom' into
8.0.x-hibernate7-dev
new 2d11e3a42a hibernate 7:
new 316d7ea509 hibernate 7:
new 480dd373b9 hibernate 7:
new a571c7c477 hibernate 7:
new 9d31dff675 hibernate 7:
new ad9902dc81 hibernate 7:
new 182b06144b hibernate 7:
new 614ad1374c hibernate 7:
new 08d6235ae9 hibernate 7:
new c28ebf1321 hibernate 7: 1. Enables the DSL: Adds createAlias to
HibernateCriteriaBuilder and the CriteriaMethodInvoker infrastructure. 2.
Solves the "Basic Collection" Gap: Introduces the HibernateAlias metadata class
to handle aliasing for basic collections (like Set<String>), which GORM
traditionally handled differently than standard associations. 3.
Bypasses H7 Restrictions: Updates JpaFromProvider and PredicateGenerator to use
these aliases to resolve the "multiv [...]
The 11 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.github/workflows/codestyle.yml | 1 +
.../hibernate/query/AbstractHibernateQuery.java | 16 +
.../DetachedCriteriaCountSpec.groovy | 147 ++++++
grails-data-hibernate7/core/ISSUES.md | 112 +++++
.../groovy/grails/orm/CriteriaMethodInvoker.java | 77 +--
.../main/groovy/grails/orm/CriteriaMethods.java | 3 +-
.../grails/orm/HibernateCriteriaBuilder.java | 36 +-
.../orm/hibernate/EventListenerIntegrator.java | 6 +-
.../orm/hibernate/GrailsHibernateTemplate.java | 20 +-
.../grails/orm/hibernate/GrailsSessionContext.java | 8 +-
.../grails/orm/hibernate/HibernateDatastore.java | 71 ++-
.../orm/hibernate/HibernateGormStaticApi.groovy | 11 +-
.../org/grails/orm/hibernate/HibernateSession.java | 4 +-
.../access/TraitPropertyAccessStrategy.java | 45 +-
.../orm/hibernate/cfg/CompositeIdentity.groovy | 2 +-
.../orm/hibernate/cfg/HibernateMappingContext.java | 16 +-
.../cfg/HibernateMappingContextConfiguration.java | 26 +-
.../binder/ClassPropertiesBinder.java | 6 +-
.../cfg/domainbinding/binder/ColumnBinder.java | 35 +-
.../binder/ColumnConfigToColumnBinder.java | 31 +-
.../cfg/domainbinding/binder/ComponentBinder.java | 1 -
.../cfg/domainbinding/binder/ComponentUpdater.java | 4 +-
.../domainbinding/binder/CompositeIdBinder.java | 6 +-
.../CompositeIdentifierToManyToOneBinder.java | 4 +-
.../cfg/domainbinding/binder/EnumTypeBinder.java | 6 +-
.../binder/ForeignKeyOneToOneBinder.java | 4 +-
.../domainbinding/binder/GrailsDomainBinder.java | 2 +-
.../domainbinding/binder/GrailsPropertyBinder.java | 22 +-
.../cfg/domainbinding/binder/IdentityBinder.java | 3 -
.../cfg/domainbinding/binder/IndexBinder.java | 4 +-
.../domainbinding/binder/JoinedSubClassBinder.java | 8 +-
.../binder/NumericColumnConstraintsBinder.java | 45 +-
.../cfg/domainbinding/binder/PropertyBinder.java | 16 +-
.../RootPersistentClassCommonValuesBinder.java | 9 +-
.../cfg/domainbinding/binder/SimpleIdBinder.java | 1 -
.../domainbinding/binder/SimpleValueBinder.java | 8 +-
.../binder/SingleTableSubclassBinder.java | 4 +-
.../cfg/domainbinding/binder/SubClassBinder.java | 2 -
.../binder/SubclassMappingBinder.java | 1 -
.../domainbinding/binder/UnionSubclassBinder.java | 8 +-
.../collectionType/CollectionType.java | 5 +-
.../generator/GrailsIncrementGenerator.java | 10 +-
.../generator/GrailsNativeGenerator.java | 30 +-
.../hibernate/GrailsHibernatePersistentEntity.java | 19 +-
.../hibernate/HibernateAssociation.java | 10 +-
.../hibernate/HibernateBasicProperty.java | 3 +-
.../HibernateEmbeddedCollectionProperty.java | 2 +
.../HibernateEmbeddedPersistentEntity.java | 4 +-
.../hibernate/HibernateManyToManyProperty.java | 2 +
.../hibernate/HibernateOneToManyProperty.java | 2 +
.../hibernate/HibernateOneToOneProperty.java | 16 +-
.../hibernate/HibernatePersistentEntity.java | 6 +-
.../secondpass/CollectionKeyBinder.java | 4 +-
.../secondpass/CollectionOrderByBinder.java | 10 +-
.../secondpass/CollectionWithJoinTableBinder.java | 8 +-
.../secondpass/DependentKeyValueBinder.java | 6 +-
.../domainbinding/secondpass/ListSecondPass.java | 3 -
.../secondpass/ListSecondPassBinder.java | 16 +-
.../domainbinding/secondpass/MapSecondPass.java | 3 -
.../domainbinding/secondpass/SetSecondPass.java | 3 -
.../secondpass/UnidirectionalOneToManyBinder.java | 16 +-
.../domainbinding/util/BasicValueIdCreator.java | 8 +-
.../cfg/domainbinding/util/CascadeBehavior.java | 4 +-
.../domainbinding/util/CascadeBehaviorFetcher.java | 4 +-
.../util/ColumnNameForPropertyAndPathFetcher.java | 6 +-
.../util/DefaultColumnNameFetcher.java | 16 +-
.../domainbinding/util/NamingStrategyProvider.java | 6 +-
.../domainbinding/util/OrderByClauseBuilder.java | 8 +-
.../util/SimpleValueColumnFetcher.java | 6 +-
.../domainbinding/util/TableForManyCalculator.java | 6 +-
.../HibernateConnectionSourceFactory.java | 11 +-
.../event/listener/HibernateEventListener.java | 18 +-
.../multitenancy/MultiTenantEventListener.java | 26 +-
.../proxy/ByteBuddyGroovyInterceptor.java | 79 +++
.../proxy/ByteBuddyGroovyProxyFactory.java | 103 ++++
.../orm/hibernate/proxy/HibernateProxyHandler.java | 8 +-
.../query/DetachedAssociationFunction.java | 19 +-
.../grails/orm/hibernate/query/HibernateAlias.java | 26 +-
.../orm/hibernate/query/HibernateHqlQuery.java | 26 +-
.../grails/orm/hibernate/query/HibernateQuery.java | 91 +++-
.../orm/hibernate/query/HqlListQueryBuilder.java | 6 +-
.../orm/hibernate/query/HqlQueryContext.java | 16 +-
.../hibernate/query/JpaCriteriaQueryCreator.java | 79 ++-
.../orm/hibernate/query/JpaFromProvider.java | 224 ++++++---
.../orm/hibernate/query/PredicateGenerator.java | 61 ++-
.../orm/hibernate/query/RegexDialectPattern.java | 7 +-
.../hibernate/support/ClosureEventListener.java | 51 +-
.../support/ClosureEventTriggeringInterceptor.java | 6 +-
.../gorm/specs/BasicCollectionInQuerySpec.groovy | 2 +-
...hedCriteriaProjectionNullAssociationSpec.groovy | 0
.../gorm/specs/HibernateGormDatastoreSpec.groovy | 7 +
.../gorm/specs/HibernateMappingFactorySpec.groovy | 2 +-
.../gorm/specs/HibernateValidationSpec.groovy | 4 +-
.../test/groovy/grails/gorm/specs/RLikeSpec.groovy | 18 +-
.../groovy/grails/gorm/specs/SqlQuerySpec.groovy | 0
.../grails/gorm/specs/WhereQueryBugFixSpec.groovy | 0
.../WhereQueryOldIssueVerificationSpec.groovy | 0
.../DetachedCriteriaCountSpec.groovy | 145 ++++++
.../hasmany/TwoUnidirectionalHasManySpec.groovy | 49 +-
.../specs/hibernatequery/HibernateQuerySpec.groovy | 107 ++--
.../JpaCriteriaQueryCreatorSpec.groovy | 187 +++----
.../hibernatequery/JpaFromProviderSpec.groovy | 263 ++++++----
.../hibernatequery/PredicateGeneratorSpec.groovy | 170 ++++---
.../gorm/specs/proxy/ByteBuddyProxySpec.groovy | 112 ++++-
.../grails/orm/CriteriaMethodInvokerSpec.groovy | 10 +
.../orm/HibernateCriteriaBuilderDirectSpec.groovy | 8 +
.../grails/orm/HibernateCriteriaBuilderSpec.groovy | 13 +-
.../core/GrailsDataHibernate7TckManager.groovy | 109 +++-
.../orm/hibernate/ExistsCrossJoinSpec.groovy | 0
.../hibernate/HibernateGormStaticApiSpec.groovy | 40 +-
.../ColumnConfigToColumnBinderSpec.groovy | 45 +-
.../cfg/domainbinding/EnumTypeBinderSpec.groovy | 12 +
.../domainbinding/GrailsNativeGeneratorSpec.groovy | 56 ++-
.../domainbinding/GrailsPropertyBinderSpec.groovy | 551 +++++----------------
.../NumericColumnConstraintsBinderSpec.groovy | 127 ++---
.../DataServiceDatasourceInheritanceSpec.groovy | 2 +-
.../DataServiceMultiDataSourceSpec.groovy | 0
...ataServiceMultiTenantMultiDataSourceSpec.groovy | 8 +-
.../MultipleDataSourceConnectionsSpec.groovy | 65 +++
.../WhereQueryMultiDataSourceSpec.groovy | 0
.../proxy/ByteBuddyGroovyInterceptorSpec.groovy | 76 +++
.../proxy/ByteBuddyGroovyProxyFactorySpec.groovy | 11 +-
.../proxy/HibernateProxyHandler7Spec.groovy | 197 +++++++-
.../proxy/SimpleHibernateProxyHandlerSpec.groovy | 0
.../query/DetachedAssociationFunctionSpec.groovy | 67 +++
.../hibernate/query/HibernateHqlQuerySpec.groovy | 12 +
.../support/MultiDataSourceSessionSpec.groovy | 0
.../groovy/grails/gorm/DetachedCriteria.groovy | 20 +-
.../org/grails/datastore/gorm/GormStaticApi.groovy | 1 -
.../data/testing/tck/tests/FindByMethodSpec.groovy | 2 +-
.../mapping/model/DefaultIdentityMapping.java | 2 +-
.../datastore/mapping/model/MappingFactory.java | 2 +-
.../config/GormMappingConfigurationStrategy.java | 2 +-
.../org/grails/datastore/mapping/query/Query.java | 16 +
.../mapping/query/api/BuildableCriteria.java | 2 +-
.../build.gradle | 2 +-
.../grails-app/conf/application.yml | 0
.../grails-app/conf/logback.xml | 0
.../grails-app/domain/example/Product.groovy | 0
.../grails-app/init/example/Application.groovy | 0
.../example/InheritedProductService.groovy | 0
.../services/example/ProductService.groovy | 0
.../DataServiceDatasourceInheritanceSpec.groovy | 0
.../DataServiceMultiDataSourceSpec.groovy | 0
.../functional/tests/BookControllerSpec.groovy | 22 +-
.../groovy/functional/tests/pages/BookPages.groovy | 0
.../grails-multiple-datasources/build.gradle | 3 +
.../datasources/SecondaryBookController.groovy | 0
.../controllers/datasources/UrlMappings.groovy | 0
.../MultiDataSourceWithSessionSpec.groovy | 0
.../build.gradle | 2 +-
.../grails-app/conf/application.yml | 0
.../grails-app/conf/logback.xml | 0
.../grails-app/domain/example/Metric.groovy | 0
.../grails-app/init/example/Application.groovy | 0
.../services/example/MetricService.groovy | 0
.../MultiTenantMultiDataSourceSpec.groovy | 7 +-
settings.gradle | 6 +
158 files changed, 3042 insertions(+), 1452 deletions(-)
create mode 100644
grails-data-hibernate5/core/src/test/groovy/grails/gorm/specs/detachedcriteria/DetachedCriteriaCountSpec.groovy
create mode 100644 grails-data-hibernate7/core/ISSUES.md
create mode 100644
grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/proxy/ByteBuddyGroovyInterceptor.java
create mode 100644
grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/proxy/ByteBuddyGroovyProxyFactory.java
copy
grails-forge/grails-forge-core/src/main/java/org/grails/forge/template/StringTemplate.java
=>
grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/HibernateAlias.java
(66%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/grails/gorm/specs/BasicCollectionInQuerySpec.groovy
(99%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/grails/gorm/specs/DetachedCriteriaProjectionNullAssociationSpec.groovy
(100%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/grails/gorm/specs/HibernateValidationSpec.groovy
(96%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/grails/gorm/specs/RLikeSpec.groovy
(70%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/grails/gorm/specs/SqlQuerySpec.groovy
(100%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/grails/gorm/specs/WhereQueryBugFixSpec.groovy
(100%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/grails/gorm/specs/WhereQueryOldIssueVerificationSpec.groovy
(100%)
create mode 100644
grails-data-hibernate7/core/src/test/groovy/grails/gorm/specs/detachedcriteria/DetachedCriteriaCountSpec.groovy
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/org/grails/orm/hibernate/ExistsCrossJoinSpec.groovy
(100%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/org/grails/orm/hibernate/connections/DataServiceDatasourceInheritanceSpec.groovy
(99%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/org/grails/orm/hibernate/connections/DataServiceMultiDataSourceSpec.groovy
(100%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/org/grails/orm/hibernate/connections/DataServiceMultiTenantMultiDataSourceSpec.groovy
(97%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/org/grails/orm/hibernate/connections/WhereQueryMultiDataSourceSpec.groovy
(100%)
create mode 100644
grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/proxy/ByteBuddyGroovyInterceptorSpec.groovy
copy
grails-test-examples/demo33/src/test/groovy/demo/SimpleJunitTagSpec.groovy =>
grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/proxy/ByteBuddyGroovyProxyFactorySpec.groovy
(75%)
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/core/src/test/groovy/org/grails/orm/hibernate/proxy/SimpleHibernateProxyHandlerSpec.groovy
(100%)
create mode 100644
grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/query/DetachedAssociationFunctionSpec.groovy
copy {grails-data-hibernate5 =>
grails-data-hibernate7}/grails-plugin/src/test/groovy/org/grails/plugin/hibernate/support/MultiDataSourceSessionSpec.groovy
(100%)
copy grails-test-examples/{hibernate5/grails-multitenant-multi-datasource =>
hibernate7/grails-data-service-multi-datasource}/build.gradle (96%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-data-service-multi-datasource/grails-app/conf/application.yml
(100%)
copy grails-test-examples/{database-cleanup =>
hibernate7/grails-data-service-multi-datasource}/grails-app/conf/logback.xml
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-data-service-multi-datasource/grails-app/domain/example/Product.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-data-service-multi-datasource/grails-app/init/example/Application.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-data-service-multi-datasource/grails-app/services/example/InheritedProductService.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-data-service-multi-datasource/grails-app/services/example/ProductService.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-data-service-multi-datasource/src/integration-test/groovy/functionaltests/DataServiceDatasourceInheritanceSpec.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-data-service-multi-datasource/src/integration-test/groovy/functionaltests/DataServiceMultiDataSourceSpec.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-hibernate/src/integration-test/groovy/functional/tests/pages/BookPages.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-multiple-datasources/grails-app/controllers/datasources/SecondaryBookController.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-multiple-datasources/grails-app/controllers/datasources/UrlMappings.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-multiple-datasources/src/integration-test/groovy/functionaltests/MultiDataSourceWithSessionSpec.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-multitenant-multi-datasource/build.gradle (96%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-multitenant-multi-datasource/grails-app/conf/application.yml
(100%)
copy grails-test-examples/{database-cleanup =>
hibernate7/grails-multitenant-multi-datasource}/grails-app/conf/logback.xml
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-multitenant-multi-datasource/grails-app/domain/example/Metric.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-multitenant-multi-datasource/grails-app/init/example/Application.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-multitenant-multi-datasource/grails-app/services/example/MetricService.groovy
(100%)
copy grails-test-examples/{hibernate5 =>
hibernate7}/grails-multitenant-multi-datasource/src/integration-test/groovy/functionaltests/MultiTenantMultiDataSourceSpec.groovy
(98%)