This is an automated email from the ASF dual-hosted git repository. borinquenkid pushed a commit to branch 7.1.x-hibernate6 in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit def87ce4fc7c3e183c786e84bac69c9d97e0577c Merge: a04197fd17 c6927087f3 Author: Walter Duque de Estrada <[email protected]> AuthorDate: Thu Oct 16 21:22:09 2025 -0500 Merge remote-tracking branch 'origin/7.0.x-hibernate6' into 7.1.x-hibernate6 .github/workflows/codeql.yml | 6 +- .github/workflows/release.yml | 18 +- .gitignore | 4 + .../org/apache/grails/buildsrc/GradleUtils.groovy | 4 - .../apache/grails/buildsrc/PublishPlugin.groovy | 4 + .../org/apache/grails/buildsrc/SbomPlugin.groovy | 188 +- dependencies.gradle | 2 +- etc/bin/verify-reproducible.sh | 2 +- gradle/functional-test-config.gradle | 7 + gradle/grails-data-tck-config.gradle | 11 + gradle/hibernate5-test-config.gradle | 1 + ...config.gradle => hibernate6-test-config.gradle} | 9 +- gradle/mongodb-forked-test-config.gradle | 1 + gradle/mongodb-test-config.gradle | 1 + gradle/test-config.gradle | 1 + grails-data-docs/stage/build.gradle | 18 +- .../mapping/HibernateMappingBuilderTests.groovy | 6 +- ...bernateOptimisticLockingStyleMappingSpec.groovy | 2 +- .../gorm/{tests => specs}/AutoTimestampSpec.groovy | 4 +- .../CascadeToBidirectionalAsssociationSpec.groovy | 8 +- .../CompositeIdWithJoinTableSpec.groovy | 2 +- .../CompositeIdWithManyToOneAndSequenceSpec.groovy | 2 +- .../CountByWithEmbeddedSpec.groovy | 4 +- .../{tests => specs}/DeleteAllWhereSpec.groovy | 5 +- .../DetachCriteriaSubquerySpec.groovy | 4 +- .../DetachedCriteriaJoinSpec.groovy | 6 +- .../DetachedCriteriaProjectionAliasSpec.groovy | 2 +- .../DetachedCriteriaProjectionSpec.groovy | 2 +- .../gorm/{tests => specs}/DomainGetterSpec.groovy | 4 +- .../gorm/{tests => specs}/EnumMappingSpec.groovy | 4 +- .../ExecuteQueryWithinValidatorSpec.groovy | 2 +- .../Hibernate5OptimisticLockingSpec.groovy} | 4 +- .../Hibernate5Suite.groovy} | 4 +- .../HibernateEntityTraitGeneratedSpec.groovy | 5 +- .../HibernateValidationSpec.groovy | 2 +- .../{tests => specs}/IdentityEnumTypeSpec.groovy | 2 +- .../ImportFromConstraintSpec.groovy | 2 +- .../LastUpdateWithDynamicUpdateSpec.groovy | 4 +- .../gorm/{tests => specs}/ManyToOneSpec.groovy | 4 +- .../MultiColumnUniqueConstraintSpec.groovy | 14 +- .../{tests => specs}/NullableAndLengthSpec.groovy | 2 +- .../grails/gorm/{tests => specs}/RLikeSpec.groovy | 4 +- .../gorm/{tests => specs}/ReadOperationSpec.groovy | 4 +- .../SaveWithExistingValidationErrorSpec.groovy | 2 +- .../gorm/{tests => specs}/SchemaNameSpec.groovy | 2 +- .../gorm/{tests => specs}/SequenceIdSpec.groovy | 2 +- .../{tests => specs}/SizeConstraintSpec.groovy | 5 +- .../gorm/{tests => specs}/SqlQuerySpec.groovy | 4 +- .../SubclassMultipleListCollectionSpec.groovy | 2 +- .../gorm/{tests => specs}/SubqueryAliasSpec.groovy | 24 +- .../TablePerSubClassAndEmbeddedSpec.groovy | 27 +- .../gorm/{tests => specs}/ToOneProxySpec.groovy | 12 +- .../TwoBidirectionalOneToManySpec.groovy | 32 +- .../UniqueConstraintHibernateSpec.groovy | 5 +- .../UniqueWithMultipleDataSourcesSpec.groovy | 28 +- .../WhereQueryWithAssociationSortSpec.groovy | 25 +- ...WithNewSessionAndExistingTransactionSpec.groovy | 32 +- .../autoimport/AutoImportSpec.groovy | 4 +- .../{tests => specs}/autoimport/other/A.groovy | 2 +- .../BidirectionalOneToOneWithUniqueSpec.groovy | 4 +- .../belongsto/HibernateFace.groovy | 2 +- .../belongsto/HibernateNose.groovy | 2 +- .../compositeid/CompositeIdCriteria.groovy | 16 +- .../CompositeIdWithDeepOneToManyMappingSpec.groovy | 25 +- .../GlobalConstraintWithCompositeIdSpec.groovy | 30 +- .../HibernateDirtyCheckingSpec.groovy | 2 +- .../HibernateUpdateFromListenerSpec.groovy | 2 +- .../dirtychecking/PropertyFieldSpec.groovy | 3 +- .../gorm/{tests => specs/entities}/Club.groovy | 4 +- .../gorm/{tests => specs/entities}/Contract.groovy | 4 +- .../gorm/{tests => specs/entities}/Player.groovy | 6 +- .../gorm/{tests => specs/entities}/Team.groovy | 2 +- .../UpdatePropertyInEventListenerSpec.groovy | 3 +- .../hasmany/HasManyWithInQuerySpec.groovy | 2 +- .../hasmany/ListCollectionSpec.groovy | 2 +- .../hasmany/TwoUnidirectionalHasManySpec.groovy | 2 +- .../inheritance/SubclassToOneProxySpec.groovy | 4 +- .../TablePerConcreteClassAndDateCreatedSpec.groovy | 4 +- .../TablePerConcreteClassImportedSpec.groovy | 4 +- .../jpa/SimpleJpaEntitySpec.groovy | 2 +- .../mappedby/MultipleOneToOneSpec.groovy | 4 +- .../MultiTenancyBidirectionalManyToManySpec.groovy | 3 +- .../MultiTenancyUnidirectionalOneToManySpec.groovy | 2 +- .../gorm/{tests => specs}/perf/JoinPerfSpec.groovy | 2 +- .../proxy/ByteBuddyProxySpec.groovy | 8 +- .../{tests => specs}/proxy/StaticTestUtil.groovy | 8 +- .../services/DataServiceSpec.groovy | 2 +- .../softdelete/SoftDeleteSpec.groovy | 3 +- .../traits/InterfacePropertySpec.groovy | 4 +- .../traits/TraitPropertySpec.groovy | 2 +- .../txs/CustomIsolationLevelSpec.groovy | 6 +- .../txs/TransactionPropagationSpec.groovy | 2 +- .../txs/TransactionalWithinReadOnlySpec.groovy | 6 +- .../{tests => specs}/uuid/UuidInsertSpec.groovy | 3 +- .../validation/BeanValidationSpec.groovy | 2 +- .../validation/CascadeValidationSpec.groovy | 3 +- .../validation/DeepValidationSpec.groovy | 4 +- .../EmbeddedWithValidationExceptionSpec.groovy | 2 +- .../validation/SaveWithInvalidEntitySpec.groovy | 2 +- .../validation/SkipValidationSpec.groovy | 2 +- .../validation/UniqueFalseConstraintSpec.groovy | 4 +- .../validation/UniqueInheritanceSpec.groovy | 3 +- .../validation/UniqueWithHasOneSpec.groovy | 2 +- .../validation/UniqueWithinGroupSpec.groovy | 2 +- .../connections/SchemaMultiTenantSpec.groovy | 6 - .../src/test/resources/simplelogger.properties | 5 +- grails-data-hibernate6/README.md | 18 + grails-data-hibernate6/core/build.gradle | 123 + .../grails/orm/HibernateCriteriaBuilder.java | 1483 ++++++++++++ .../grails/orm/hibernate/HibernateEntity.groovy | 68 + .../orm/hibernate/annotation/ManagedEntity.java | 15 + .../orm/hibernate/mapping/MappingBuilder.groovy | 59 + .../orm/hibernate/AbstractHibernateDatastore.java | 439 ++++ .../AbstractHibernateGormValidationApi.groovy | 167 ++ .../orm/hibernate/AbstractHibernateSession.java | 210 ++ .../orm/hibernate/EventListenerIntegrator.java | 151 ++ .../orm/hibernate/GrailsHibernateTemplate.java | 743 ++++++ .../GrailsHibernateTransactionManager.groovy | 103 + .../grails/orm/hibernate/GrailsSessionContext.java | 234 ++ .../grails/orm/hibernate/HibernateDatastore.java | 673 ++++++ .../orm/hibernate/HibernateEventListeners.java | 30 + .../orm/hibernate/HibernateGormEnhancer.groovy | 73 + .../orm/hibernate/HibernateGormInstanceApi.groovy | 524 +++++ .../orm/hibernate/HibernateGormStaticApi.groovy | 677 ++++++ .../hibernate/HibernateGormValidationApi.groovy | 46 + .../orm/hibernate/HibernateLegacyEnumType.java | 345 +++ .../HibernateMappingContextSessionFactoryBean.java | 528 +++++ .../org/grails/orm/hibernate/HibernateSession.java | 206 ++ .../grails/orm/hibernate/IHibernateTemplate.java | 71 + .../grails/orm/hibernate/InstanceApiHelper.java | 50 + .../grails/orm/hibernate/MetadataIntegrator.groovy | 23 + .../grails/orm/hibernate/SessionFactoryHolder.java | 40 + .../access/TraitPropertyAccessStrategy.java | 94 + .../hibernate/cfg/AbstractGrailsDomainBinder.java | 79 + .../grails/orm/hibernate/cfg/CacheConfig.groovy | 85 + .../grails/orm/hibernate/cfg/ColumnConfig.groovy | 133 ++ .../orm/hibernate/cfg/CompositeIdentity.groovy | 42 + .../orm/hibernate/cfg/DiscriminatorConfig.groovy | 62 + .../orm/hibernate/cfg/GrailsDomainBinder.java | 2430 ++++++++++++++++++++ .../orm/hibernate/cfg/GrailsHibernateUtil.java | 239 ++ .../hibernate/cfg/HibernateMappingBuilder.groovy | 700 ++++++ .../orm/hibernate/cfg/HibernateMappingContext.java | 329 +++ .../cfg/HibernateMappingContextConfiguration.java | 345 +++ .../hibernate/cfg/HibernatePersistentEntity.java | 66 + .../org/grails/orm/hibernate/cfg/Identity.groovy | 108 + .../grails/orm/hibernate/cfg/IdentityEnumType.java | 229 ++ .../grails/orm/hibernate/cfg/InstanceProxy.groovy | 75 + .../org/grails/orm/hibernate/cfg/JoinTable.groovy | 81 + .../org/grails/orm/hibernate/cfg/Mapping.groovy | 603 +++++ .../org/grails/orm/hibernate/cfg/NaturalId.groovy | 37 + .../cfg/PersistentEntityNamingStrategy.java | 23 + .../grails/orm/hibernate/cfg/PropertyConfig.groovy | 481 ++++ .../cfg/PropertyDefinitionDelegate.groovy | 56 + .../org/grails/orm/hibernate/cfg/Settings.java | 11 + .../org/grails/orm/hibernate/cfg/SortConfig.groovy | 48 + .../org/grails/orm/hibernate/cfg/Table.groovy | 80 + .../cfg/domainbinding/BackticksRemover.java | 15 + .../BidirectionalManyToOneWithListMapping.java | 24 + .../cfg/domainbinding/CascadeBehavior.java | 81 + .../cfg/domainbinding/CascadeBehaviorFetcher.java | 91 + .../hibernate/cfg/domainbinding/ClassBinder.java | 43 + .../CollectionForPropertyConfigBinder.java | 24 + .../hibernate/cfg/domainbinding/ColumnBinder.java | 142 ++ .../domainbinding/ColumnConfigToColumnBinder.java | 34 + .../ColumnNameForPropertyAndPathFetcher.java | 90 + .../CompositeIdentifierToManyToOneBinder.java | 110 + .../ConfigureDerivedPropertiesConsumer.java | 25 + .../cfg/domainbinding/CreateKeyForProps.java | 57 + .../domainbinding/DefaultColumnNameFetcher.java | 60 + .../cfg/domainbinding/EnumTypeBinder.java | 94 + .../ForeignKeyColumnCountCalculator.java | 28 + .../cfg/domainbinding/GrailsEnumType.java | 15 + .../cfg/domainbinding/HibernateEntityWrapper.java | 31 + .../hibernate/cfg/domainbinding/IndexBinder.java | 32 + .../cfg/domainbinding/LogCascadeMapping.java | 61 + .../cfg/domainbinding/ManyToOneBinder.java | 115 + .../cfg/domainbinding/ManyToOneValuesBinder.java | 37 + .../cfg/domainbinding/NamespaceNameExtractor.java | 37 + .../cfg/domainbinding/NamingStrategyProvider.java | 80 + .../cfg/domainbinding/NamingStrategyWrapper.java | 74 + .../cfg/domainbinding/NaturalIdentifierBinder.java | 51 + .../NumericColumnConstraintsBinder.java | 59 + .../PersistentPropertyToPropertyConfig.java | 18 + .../cfg/domainbinding/PropertyBinder.java | 80 + .../cfg/domainbinding/SimpleValueBinder.java | 119 + .../cfg/domainbinding/SimpleValueColumnBinder.java | 31 + .../domainbinding/SimpleValueColumnFetcher.java | 12 + .../StringColumnConstraintsBinder.java | 39 + .../cfg/domainbinding/TableNameFetcher.java | 34 + .../cfg/domainbinding/TypeNameProvider.java | 31 + .../domainbinding/UniqueKeyForColumnsCreator.java | 43 + .../cfg/domainbinding/UniqueNameGenerator.java | 44 + .../cfg/domainbinding/UserTypeFetcher.java | 45 + .../compiler/HibernateEntityTransformation.groovy | 298 +++ .../AbstractHibernateConnectionSourceFactory.java | 121 + .../connections/HibernateConnectionSource.java | 46 + .../HibernateConnectionSourceFactory.java | 264 +++ .../HibernateConnectionSourceSettings.groovy | 339 +++ ...HibernateConnectionSourceSettingsBuilder.groovy | 50 + .../datasource/MultipleDataSourceSupport.java | 47 + .../dirty/GrailsEntityDirtinessStrategy.groovy | 152 ++ .../listener/AbstractHibernateEventListener.java | 66 + .../event/listener/HibernateEventListener.java | 236 ++ ...CouldNotDetermineHibernateDialectException.java | 35 + .../GrailsHibernateConfigurationException.java | 35 + .../exceptions/GrailsHibernateException.java | 38 + .../hibernate/exceptions/GrailsQueryException.java | 39 + .../multitenancy/MultiTenantEventListener.java | 93 + .../orm/hibernate/proxy/HibernateProxyHandler.java | 168 ++ .../orm/hibernate/query/AliasMapEntryFunction.java | 16 + .../orm/hibernate/query/CriteriaAndAlias.java | 16 + .../query/DetachedAssociationFunction.java | 30 + .../hibernate/query/GrailsHibernateQueryUtils.java | 321 +++ .../hibernate/query/HibernateAssociationQuery.java | 144 ++ .../orm/hibernate/query/HibernateHqlQuery.java | 447 ++++ .../grails/orm/hibernate/query/HibernateQuery.java | 664 ++++++ .../hibernate/query/HibernateQueryConstants.java | 28 + .../hibernate/query/HibernateQueryExecutor.java | 67 + .../hibernate/query/JpaCriteriaQueryCreator.java | 179 ++ .../orm/hibernate/query/JpaFromProvider.java | 110 + .../orm/hibernate/query/PagedResultList.java | 74 + .../orm/hibernate/query/PredicateGenerator.java | 367 +++ .../orm/hibernate/query/ProjectionPredicate.java | 47 + .../AbstractClosureEventTriggeringInterceptor.java | 23 + .../hibernate/support/ClosureEventListener.java | 367 +++ .../support/ClosureEventTriggeringInterceptor.java | 338 +++ .../hibernate/support/DataSourceFactoryBean.groovy | 40 + ...rnateDatastoreConnectionSourcesRegistrar.groovy | 99 + .../support/HibernateDatastoreFactoryBean.groovy | 62 + .../HibernateDialectDetectorFactoryBean.java | 191 ++ .../hibernate/support/HibernateRuntimeUtils.groovy | 149 ++ .../org/grails/orm/hibernate/support/SoftKey.java | 66 + .../HibernateJtaTransactionManagerAdapter.java | 207 ++ .../PlatformTransactionManagerProxy.java | 40 + .../org/hibernate/proxy/HibernateProxyHelper.java | 24 + .../org.hibernate.integrator.spi.Integrator | 1 + .../mapping/HibernateMappingBuilderTests.groovy | 6 +- ...bernateOptimisticLockingStyleMappingSpec.groovy | 6 +- .../hibernate/mapping/MappingBuilderSpec.groovy | 334 +++ .../grails/gorm/specs}/AutoTimestampSpec.groovy | 8 +- .../CascadeToBidirectionalAsssociationSpec.groovy | 19 +- .../specs}/CompositeIdWithJoinTableSpec.groovy | 48 +- .../CompositeIdWithManyToOneAndSequenceSpec.groovy | 119 + .../gorm/specs}/CountByWithEmbeddedSpec.groovy | 10 +- .../grails/gorm/specs}/DeleteAllWhereSpec.groovy | 11 +- .../grails/gorm/specs}/DomainGetterSpec.groovy | 8 +- .../grails/gorm/specs}/EnumMappingSpec.groovy | 18 +- .../specs}/ExecuteQueryWithinValidatorSpec.groovy | 3 +- .../specs/Hibernate6OptimisticLockingSpec.groovy | 39 +- .../grails/gorm/specs/Hibernate6Suite.groovy | 4 +- .../HibernateEntityTraitGeneratedSpec.groovy | 5 +- .../gorm/specs/HibernateGormDatastoreSpec.groovy | 136 ++ .../grails/gorm/specs}/IdentityEnumTypeSpec.groovy | 41 +- .../gorm/specs}/ImportFromConstraintSpec.groovy | 2 +- .../specs}/LastUpdateWithDynamicUpdateSpec.groovy | 8 +- .../groovy/grails/gorm/specs}/ManyToOneSpec.groovy | 8 +- .../specs}/MultiColumnUniqueConstraintSpec.groovy | 20 +- .../grails/gorm/specs/NullValueEqualSpec.groovy | 37 + .../gorm/specs}/NullableAndLengthSpec.groovy | 4 +- .../groovy/grails/gorm/specs}/RLikeSpec.groovy | 11 +- .../grails/gorm/specs}/ReadOperationSpec.groovy | 8 +- .../SaveWithExistingValidationErrorSpec.groovy | 4 +- .../grails/gorm/specs}/SchemaNameSpec.groovy | 4 +- .../grails/gorm/specs}/SequenceIdSpec.groovy | 11 +- .../grails/gorm/specs}/SizeConstraintSpec.groovy | 11 +- .../SubclassMultipleListCollectionSpec.groovy | 5 +- .../grails/gorm/specs}/SubqueryAliasSpec.groovy | 35 +- .../specs}/TablePerSubClassAndEmbeddedSpec.groovy | 32 +- .../grails/gorm/specs}/ToOneProxySpec.groovy | 16 +- .../specs}/TwoBidirectionalOneToManySpec.groovy | 40 +- .../specs}/UniqueConstraintHibernateSpec.groovy | 3 +- .../specs/UniqueWithMultipleDataSourcesSpec.groovy | 94 + .../WhereQueryWithAssociationSortSpec.groovy | 55 +- ...WithNewSessionAndExistingTransactionSpec.groovy | 40 +- .../gorm/specs}/autoimport/AutoImportSpec.groovy | 9 +- .../grails/gorm/specs}/autoimport/other/A.groovy | 2 +- .../BidirectionalOneToOneWithUniqueSpec.groovy | 8 +- .../gorm/specs}/belongsto/HibernateFace.groovy | 2 +- .../gorm/specs}/belongsto/HibernateNose.groovy | 2 +- .../specs/compositeid/CompositeIdCriteria.groovy | 114 + .../CompositeIdWithDeepOneToManyMappingSpec.groovy | 58 +- .../GlobalConstraintWithCompositeIdSpec.groovy | 70 +- .../DetachCriteriaSubquerySpec.groovy | 44 +- .../DetachedCriteriaJoinSpec.groovy | 76 + .../DetachedCriteriaProjectionAliasSpec.groovy | 87 + .../DetachedCriteriaProjectionSpec.groovy | 55 +- .../HibernateDirtyCheckingSpec.groovy | 42 +- .../HibernateUpdateFromListenerSpec.groovy | 2 +- .../specs}/dirtychecking/PropertyFieldSpec.groovy | 5 +- .../groovy/grails/gorm/specs/entities}/Club.groovy | 4 +- .../grails/gorm/specs/entities}/Contract.groovy | 4 +- .../grails/gorm/specs/entities}/Player.groovy | 6 +- .../groovy/grails/gorm/specs/entities}/Team.groovy | 2 +- .../UpdatePropertyInEventListenerSpec.groovy | 3 +- .../specs}/hasmany/HasManyWithInQuerySpec.groovy | 9 +- .../gorm/specs}/hasmany/ListCollectionSpec.groovy | 21 +- .../grails/gorm/specs/hasmany/Something.groovy | 14 + .../hasmany/TwoUnidirectionalHasManySpec.groovy | 35 +- .../specs/hibernatequery/HibernateQuerySpec.groovy | 738 ++++++ .../inheritance/SubclassToOneProxySpec.groovy | 8 +- .../TablePerConcreteClassAndDateCreatedSpec.groovy | 10 +- .../TablePerConcreteClassImportedSpec.groovy | 15 +- .../gorm/specs}/jpa/SimpleJpaEntitySpec.groovy | 2 +- .../specs}/mappedby/MultipleOneToOneSpec.groovy | 10 +- .../MultiTenancyBidirectionalManyToManySpec.groovy | 6 +- .../MultiTenancyUnidirectionalOneToManySpec.groovy | 5 +- .../grails/gorm/specs}/perf/JoinPerfSpec.groovy | 2 +- .../gorm/specs/proxy/ByteBuddyProxySpec.groovy | 105 + .../grails/gorm/specs/proxy/GroovyProxySpec.groovy | 35 + .../grails/gorm/specs}/proxy/StaticTestUtil.groovy | 8 +- .../gorm/specs}/services/DataServiceSpec.groovy | 38 +- .../gorm/specs}/softdelete/SoftDeleteSpec.groovy | 3 +- .../specs}/traits/InterfacePropertySpec.groovy | 10 +- .../gorm/specs}/traits/TraitPropertySpec.groovy | 3 +- .../specs}/txs/CustomIsolationLevelSpec.groovy | 8 +- .../specs}/txs/TransactionPropagationSpec.groovy | 4 +- .../txs/TransactionalWithinReadOnlySpec.groovy | 12 +- .../grails/gorm/specs}/uuid/UuidInsertSpec.groovy | 5 +- .../specs}/validation/BeanValidationSpec.groovy | 18 +- .../specs}/validation/CascadeValidationSpec.groovy | 5 +- .../specs}/validation/DeepValidationSpec.groovy | 10 +- .../EmbeddedWithValidationExceptionSpec.groovy | 4 +- .../validation/SaveWithInvalidEntitySpec.groovy | 11 +- .../specs}/validation/SkipValidationSpec.groovy | 2 +- .../validation/UniqueFalseConstraintSpec.groovy | 6 +- .../specs}/validation/UniqueInheritanceSpec.groovy | 5 +- .../specs}/validation/UniqueWithHasOneSpec.groovy | 33 +- .../specs}/validation/UniqueWithinGroupSpec.groovy | 27 +- .../core/GrailsDataHibernate6TckManager.groovy | 132 ++ .../mapping/model/PersistentPropertySpec.groovy | 73 + ...idirectionalManyToOneWithListMappingSpec.groovy | 163 ++ .../orm/hibernate/DefaultConstraintsSpec.groovy | 84 + .../hibernate/HibernateCriteriaBuilderSpec.groovy | 251 ++ .../orm/hibernate/HibernateDatastoreSpec.groovy | 24 +- .../hibernate/HibernateGormInstanceApiSpec.groovy | 172 ++ .../hibernate/HibernateGormStaticApiSpec.groovy | 524 +++++ .../hibernate/cfg/GrailsDomainBinderSpec.groovy | 24 + .../cfg/HibernateMappingContextSpec.groovy | 83 + .../grails/orm/hibernate/cfg/MappingSpec.groovy | 62 + .../cfg/domainbinding/BackticksRemoverSpec.groovy | 39 + .../CascadeBehaviorFetcherSpec.groovy | 225 ++ .../CascadeBehaviorPersisterSpec.groovy | 545 +++++ .../cfg/domainbinding/ClassBinderSpec.groovy | 85 + .../CollectionForPropertyConfigBinderSpec.groovy | 79 + .../cfg/domainbinding/ColumnBinderSpec.groovy | 761 ++++++ .../ColumnConfigToColumnBinderSpec.groovy | 86 + .../ColumnNameForPropertyAndPathFetcherSpec.groovy | 138 ++ ...CompositeIdentifierToManyToOneBinderSpec.groovy | 124 + .../cfg/domainbinding/CreateKeyForPropsSpec.groovy | 123 + .../DefaultColumnNameFetcherSpec.groovy | 99 + .../cfg/domainbinding/EnumTypeBinderSpec.groovy | 249 ++ .../ForeignKeyColumnCountCalculatorSpec.groovy | 52 + .../HibernateEntityWrapperSpec.groovy | 158 ++ .../cfg/domainbinding/IndexBinderSpec.groovy | 83 + .../cfg/domainbinding/ManyToOneBinderSpec.groovy | 190 ++ .../domainbinding/ManyToOneValuesBinderSpec.groovy | 54 + .../NamespaceNameExtractorSpec.groovy | 176 ++ .../NamingStrategyProviderSpec.groovy | 116 + .../domainbinding/NamingStrategyWrapperSpec.groovy | 142 ++ .../NaturalIdentifierBinderSpec.groovy | 140 ++ .../NumericColumnConstraintsBinderSpec.groovy | 114 + .../cfg/domainbinding/PropertyBinderSpec.groovy | 110 + .../cfg/domainbinding/SimpleValueBinderSpec.groovy | 183 ++ .../SimpleValueColumnBinderSpec.groovy | 49 + .../StringColumnConstraintsBinderSpec.groovy | 116 + .../cfg/domainbinding/TableNameFetcherSpec.groovy | 38 + .../cfg/domainbinding/TypeNameProviderSpec.groovy | 81 + .../UniqueKeyForColumnsCreatorSpec.groovy | 33 + .../domainbinding/UniqueNameGeneratorSpec.groovy | 139 ++ .../HibernateEntityTransformationSpec.groovy | 188 ++ .../DataSourceConnectionSourceFactorySpec.groovy | 52 + .../HibernateConnectionSourceFactorySpec.groovy | 64 + .../HibernateConnectionSourceSettingsSpec.groovy | 90 + .../MultipleDataSourceConnectionsSpec.groovy | 170 ++ .../MultipleDataSourceMetadataSpec.groovy | 91 + .../MultipleDataSourcesWithCachingSpec.groovy | 75 + .../MultipleDataSourcesWithEventsSpec.groovy | 137 ++ .../connections/PartitionedMultiTenancySpec.groovy | 403 ++++ .../connections/SchemaMultiTenantSpec.groovy | 6 - .../connections/SecondLevelCacheSpec.groovy | 97 + .../hibernate/connections/SingleTenantSpec.groovy | 103 +- .../support/HibernateVersionSupportSpec.groovy | 19 +- ...ails.data.testing.tck.base.GrailsDataTckManager | 20 + .../src/test/resources/simplelogger.properties | 4 + grails-data-hibernate6/docs/build.gradle | 145 ++ .../src/docs/asciidoc/advancedGORMFeatures.adoc | 1 + .../advancedGORMFeatures/defaultSortOrder.adoc | 48 + .../eventsAutoTimestamping.adoc | 391 ++++ .../docs/asciidoc/advancedGORMFeatures/ormdsl.adoc | 28 + .../advancedGORMFeatures/ormdsl/caching.adoc | 136 ++ .../ormdsl/compositePrimaryKeys.adoc | 69 + .../ormdsl/customCascadeBehaviour.adoc | 39 + .../ormdsl/customHibernateTypes.adoc | 70 + .../ormdsl/customNamingStrategy.adoc | 62 + .../ormdsl/databaseIndices.adoc | 18 + .../ormdsl/derivedProperties.adoc | 77 + .../advancedGORMFeatures/ormdsl/fetchingDSL.adoc | 176 ++ .../advancedGORMFeatures/ormdsl/identity.adoc | 36 + .../ormdsl/inheritanceStrategies.adoc | 18 + .../ormdsl/optimisticLockingAndVersioning.adoc | 39 + .../ormdsl/tableAndColumnNames.adoc | 200 ++ .../configuration/configurationDefaults.adoc | 40 + .../configuration/configurationReference.adoc | 48 + .../configuration/hibernateCustomization.adoc | 29 + .../src/docs/asciidoc/configuration/index.adoc | 40 + .../asciidoc/constraints/applyingConstraints.adoc | 135 ++ .../asciidoc/constraints/constraintReference.adoc | 24 + .../docs/asciidoc/constraints/gormConstraints.adoc | 112 + .../docs/src/docs/asciidoc/constraints/index.adoc | 13 + .../asciidoc/databaseMigration/configuration.adoc | 49 + .../src/docs/asciidoc/databaseMigration/dbdoc.adoc | 23 + .../asciidoc/databaseMigration/generalUsage.adoc | 95 + .../asciidoc/databaseMigration/gettingStarted.adoc | 110 + .../src/docs/asciidoc/databaseMigration/gorm.adoc | 25 + .../asciidoc/databaseMigration/groovyChanges.adoc | 91 + .../databaseMigration/groovyPreconditions.adoc | 68 + .../src/docs/asciidoc/databaseMigration/index.adoc | 134 ++ .../asciidoc/databaseMigration/introduction.adoc | 17 + .../ref/Diff Scripts/dbm-diff.adoc | 43 + .../ref/Diff Scripts/dbm-gorm-diff.adoc | 45 + .../ref/Documentation Scripts/dbm-db-doc.adoc | 36 + .../ref/Maintenance Scripts/dbm-add-migration.adoc | 22 + .../dbm-changelog-sync-sql.adoc | 37 + .../Maintenance Scripts/dbm-changelog-sync.adoc | 36 + .../dbm-changelog-to-groovy.adoc | 23 + .../Maintenance Scripts/dbm-clear-checksums.adoc | 32 + .../Maintenance Scripts/dbm-create-changelog.adoc | 36 + .../ref/Maintenance Scripts/dbm-drop-all.adoc | 34 + .../ref/Maintenance Scripts/dbm-list-locks.adoc | 34 + .../ref/Maintenance Scripts/dbm-list-tags.adoc | 27 + .../dbm-mark-next-changeset-ran.adoc | 37 + .../ref/Maintenance Scripts/dbm-release-locks.adoc | 33 + .../ref/Maintenance Scripts/dbm-status.adoc | 36 + .../ref/Maintenance Scripts/dbm-tag.adoc | 37 + .../ref/Maintenance Scripts/dbm-validate.adoc | 34 + .../Rollback Scripts/dbm-future-rollback-sql.adoc | 35 + .../Rollback Scripts/dbm-generate-changelog.adoc | 42 + .../dbm-generate-gorm-changelog.adoc | 40 + .../Rollback Scripts/dbm-rollback-count-sql.adoc | 38 + .../ref/Rollback Scripts/dbm-rollback-count.adoc | 37 + .../ref/Rollback Scripts/dbm-rollback-sql.adoc | 39 + .../Rollback Scripts/dbm-rollback-to-date-sql.adoc | 41 + .../ref/Rollback Scripts/dbm-rollback-to-date.adoc | 39 + .../ref/Rollback Scripts/dbm-rollback.adoc | 38 + .../Update Scripts/dbm-previous-changeset-sql.adoc | 32 + .../ref/Update Scripts/dbm-update-count-sql.adoc | 41 + .../ref/Update Scripts/dbm-update-count.adoc | 38 + .../ref/Update Scripts/dbm-update-sql.adoc | 39 + .../ref/Update Scripts/dbm-update.adoc | 36 + .../docs/src/docs/asciidoc/domainClasses.adoc | 34 + .../asciidoc/domainClasses/gormAssociation.adoc | 2 + .../gormAssociation/basicCollectionTypes.adoc | 38 + .../domainClasses/gormAssociation/manyToMany.adoc | 43 + .../gormAssociation/manyToOneAndOneToOne.adoc | 221 ++ .../domainClasses/gormAssociation/oneToMany.adoc | 93 + .../asciidoc/domainClasses/gormComposition.adoc | 21 + .../asciidoc/domainClasses/inheritanceInGORM.adoc | 55 + .../asciidoc/domainClasses/sets,ListsAndMaps.adoc | 167 ++ .../docs/src/docs/asciidoc/gettingStarted.adoc | 52 + .../asciidoc/gettingStarted/hibernateVersions.adoc | 70 + .../asciidoc/gettingStarted/outsideGrails.adoc | 50 + .../docs/asciidoc/gettingStarted/springBoot.adoc | 92 + .../src/docs/asciidoc/images/5.2.2-composition.jpg | Bin 0 -> 23811 bytes .../docs/src/docs/asciidoc/images/GORM-1to1.png | Bin 0 -> 17532 bytes .../docs/src/docs/asciidoc/images/console.png | Bin 0 -> 22067 bytes .../docs/src/docs/asciidoc/images/doc-template.png | Bin 0 -> 103631 bytes .../docs/src/docs/asciidoc/images/errors-view.png | Bin 0 -> 207906 bytes .../docs/src/docs/asciidoc/images/favicon.ico | Bin 0 -> 10134 bytes .../docs/src/docs/asciidoc/images/g2one.png | Bin 0 -> 24260 bytes .../docs/src/docs/asciidoc/images/grails-icon.png | Bin 0 -> 3261 bytes .../docs/src/docs/asciidoc/images/grails.png | Bin 0 -> 21146 bytes .../docs/src/docs/asciidoc/images/groovy.png | Bin 0 -> 7543 bytes .../docs/src/docs/asciidoc/images/h2-console.png | Bin 0 -> 42596 bytes .../asciidoc/images/interactive-complete-class.png | Bin 0 -> 153909 bytes .../asciidoc/images/interactive-helloworld.png | Bin 0 -> 16621 bytes .../docs/asciidoc/images/interactive-open-cmd.png | Bin 0 -> 91319 bytes .../docs/asciidoc/images/interactive-output.png | Bin 0 -> 77641 bytes .../asciidoc/images/interactive-run-external.png | Bin 0 -> 63097 bytes .../docs/src/docs/asciidoc/images/intropage.png | Bin 0 -> 110038 bytes .../docs/src/docs/asciidoc/images/logging.png | Bin 0 -> 22671 bytes .../docs/src/docs/asciidoc/images/note.gif | Bin 0 -> 569 bytes .../src/docs/asciidoc/images/scaffolding-ui.png | Bin 0 -> 33626 bytes .../docs/src/docs/asciidoc/images/test-output.png | Bin 0 -> 119636 bytes .../src/docs/asciidoc/images/test-template.png | Bin 0 -> 65896 bytes .../docs/src/docs/asciidoc/images/war-output.png | Bin 0 -> 51915 bytes .../docs/src/docs/asciidoc/images/warning.gif | Bin 0 -> 613 bytes .../docs/src/docs/asciidoc/index.adoc | 281 +++ .../docs/src/docs/asciidoc/introduction.adoc | 12 + .../docs/asciidoc/introduction/releaseHistory.adoc | 77 + .../docs/asciidoc/introduction/upgradeNotes.adoc | 31 + .../docs/src/docs/asciidoc/learningMore.adoc | 1 + .../asciidoc/multiTenancy/databasePerTenant.adoc | 113 + .../multiTenancy/discriminatorMultiTenancy.adoc | 81 + .../docs/src/docs/asciidoc/multiTenancy/index.adoc | 27 + .../docs/src/docs/asciidoc/multiTenancy/modes.adoc | 7 + .../asciidoc/multiTenancy/schemaPerTenant.adoc | 53 + .../asciidoc/multiTenancy/tenantResolvers.adoc | 85 + .../asciidoc/multiTenancy/tenantTransforms.adoc | 38 + .../multipleDataSources/configuration.adoc | 24 + .../multipleDataSources/dataSourceNamespaces.adoc | 44 + .../docs/asciidoc/multipleDataSources/index.adoc | 32 + .../mappingDomainsToDataSources.adoc | 60 + .../docs/src/docs/asciidoc/persistenceBasics.adoc | 33 + .../docs/asciidoc/persistenceBasics/cascades.adoc | 214 ++ .../persistenceBasics/deletingObjects.adoc | 49 + .../docs/asciidoc/persistenceBasics/fetching.adoc | 117 + .../docs/asciidoc/persistenceBasics/locking.adoc | 86 + .../persistenceBasics/modificationChecking.adoc | 106 + .../persistenceBasics/savingAndUpdating.adoc | 43 + .../docs/asciidoc/programmaticTransactions.adoc | 60 + .../docs/src/docs/asciidoc/querying.adoc | 55 + .../docs/src/docs/asciidoc/querying/criteria.adoc | 331 +++ .../docs/asciidoc/querying/detachedCriteria.adoc | 194 ++ .../docs/src/docs/asciidoc/querying/finders.adoc | 129 ++ .../docs/src/docs/asciidoc/querying/hql.adoc | 60 + .../src/docs/asciidoc/querying/whereQueries.adoc | 452 ++++ .../docs/src/docs/asciidoc/quickStartGuide.adoc | 73 + .../docs/asciidoc/quickStartGuide/basicCRUD.adoc | 73 + .../docs/src/docs/asciidoc/services/basics.adoc | 102 + .../src/docs/asciidoc/services/finderQueries.adoc | 17 + .../src/docs/asciidoc/services/hqlQueries.adoc | 36 + .../docs/src/docs/asciidoc/services/index.adoc | 25 + .../docs/asciidoc/services/projectionQueries.adoc | 0 .../docs/src/docs/asciidoc/services/queries.adoc | 50 + .../docs/asciidoc/services/queryConventions.adoc | 34 + .../docs/asciidoc/services/queryProjections.adoc | 72 + .../src/docs/asciidoc/services/rxServices.adoc | 56 + .../docs/asciidoc/services/serviceValidation.adoc | 16 + .../src/docs/asciidoc/services/simpleQueries.adoc | 57 + .../src/docs/asciidoc/services/whereQueries.adoc | 14 + .../docs/asciidoc/services/writeOperations.adoc | 79 + .../docs/src/docs/asciidoc/testing/index.adoc | 12 + .../docs/src/docs/asciidoc/testing/junit.adoc | 41 + .../docs/src/docs/asciidoc/testing/spock.adoc | 109 + .../docs/src/docs/resources/index.html | 10 + .../mongo/engine/MongoCodecEntityPersister.groovy | 19 + .../engine/codecs/PersistentEntityCodec.groovy | 7 - .../tests/DirtyCheckEmbeddedCollectionSpec.groovy | 2 +- .../groovy/grails/gorm/tests/FindNativeSpec.groovy | 2 +- .../listener/PersistenceEventListenerSpec.groovy | 2 +- .../grails/mongodb/cascade/MongoCascadeSpec.groovy | 2 +- .../gorm/mongo/AggregateMethodSpec.groovy | 2 +- .../gorm/mongo/AssignedIdentifierSpec.groovy | 2 +- .../gorm/mongo/AutowireServicesSpec.groovy | 2 +- .../datastore/gorm/mongo/BasicArraySpec.groovy | 2 +- .../gorm/mongo/BasicCollectionTypeSpec.groovy | 2 +- .../gorm/mongo/BasicCollectionsSpec.groovy | 2 +- .../gorm/mongo/BatchUpdateDeleteSpec.groovy | 2 +- .../gorm/mongo/BeforeInsertUpdateSpec.groovy | 2 +- .../BeforeUpdatePropertyPersistenceSpec.groovy | 201 ++ .../datastore/gorm/mongo/BigDecimalSpec.groovy | 2 +- .../mongo/BrokenManyToManyAssociationSpec.groovy | 2 +- .../gorm/mongo/CascadeDeleteOneToOneSpec.groovy | 2 +- .../datastore/gorm/mongo/CascadeDeleteSpec.groovy | 2 +- .../CircularBidirectionalOneToManySpec.groovy | 2 +- .../gorm/mongo/CircularEmbeddedListSpec.groovy | 2 +- .../gorm/mongo/CircularOneToManySpec.groovy | 2 +- .../gorm/mongo/ClearCollectionSpec.groovy | 2 +- .../CustomCollectionAndAttributeMappingSpec.groovy | 2 +- .../datastore/gorm/mongo/CustomIdProxySpec.groovy | 2 +- .../gorm/mongo/CustomMongoEventListenerSpec.groovy | 2 +- .../gorm/mongo/CustomTypeMarshallingSpec.groovy | 2 +- .../gorm/mongo/DBObjectConversionSpec.groovy | 2 +- .../gorm/mongo/DbRefWithEmbeddedSpec.groovy | 2 +- .../gorm/mongo/DefaultSortOrderSpec.groovy | 2 +- .../gorm/mongo/DirtyCheckUpdateSpec.groovy | 2 +- .../datastore/gorm/mongo/DisableVersionSpec.groovy | 2 +- .../gorm/mongo/DistinctPropertySpec.groovy | 2 +- .../gorm/mongo/DocumentMappingSpec.groovy | 2 +- .../gorm/mongo/EmbeddedAssociationSpec.groovy | 2 +- .../gorm/mongo/EmbeddedBiDirectionalSpec.groovy | 2 +- .../EmbeddedCollectionAndInheritanceSpec.groovy | 2 +- .../gorm/mongo/EmbeddedCollectionWithIdSpec.groovy | 2 +- .../EmbeddedCollectionWithOneToOneSpec.groovy | 2 +- .../mongo/EmbeddedListWithCustomTypeSpec.groovy | 2 +- .../datastore/gorm/mongo/EmbeddedMapSpec.groovy | 2 +- .../gorm/mongo/EmbeddedSetAssignedIdSpec.groovy | 2 +- .../gorm/mongo/EmbeddedSimpleObjectSpec.groovy | 2 +- ...edStringListInsideEmbeddedCollectionSpec.groovy | 2 +- .../datastore/gorm/mongo/EmbeddedUnsetSpec.groovy | 2 +- .../gorm/mongo/EmbeddedWhereClauseSpec.groovy | 2 +- .../EmbeddedWithCustomFieldMappingSpec.groovy | 2 +- .../EmbeddedWithNonEmbeddedAssociationsSpec.groovy | 2 +- .../EmbeddedWithNonEmbeddedCollectionsSpec.groovy | 2 +- .../EmbeddedWithinEmbeddedAssociationSpec.groovy | 2 +- .../datastore/gorm/mongo/EnumCollectionSpec.groovy | 2 +- .../datastore/gorm/mongo/EnumTypeSpec.groovy | 2 +- .../mongo/EventsWithAbstractInheritanceSpec.groovy | 2 +- .../gorm/mongo/FindOrCreateWhereSpec.groovy | 2 +- .../gorm/mongo/GeoJSONTypePersistenceSpec.groovy | 2 +- .../gorm/mongo/GeospacialQuerySpec.groovy | 2 +- .../gorm/mongo/GetAllWithStringIdSpec.groovy | 2 +- .../GreaterThanAndLessThanCriteriaSpec.groovy | 2 +- .../grails/datastore/gorm/mongo/HasOneSpec.groovy | 2 +- .../mongo/IndexAttributesAndCompoundKeySpec.groovy | 2 +- .../gorm/mongo/IndexWithInheritanceSpec.groovy | 2 +- .../gorm/mongo/InheritanceQueryingSpec.groovy | 2 +- ...nheritanceWithSingleEndedAssociationSpec.groovy | 2 +- .../datastore/gorm/mongo/InnerEnumSpec.groovy | 2 +- .../grails/datastore/gorm/mongo/IsNullSpec.groovy | 2 +- .../gorm/mongo/JakartaValidationSpec.groovy | 2 +- .../datastore/gorm/mongo/LastUpdatedSpec.groovy | 2 +- .../gorm/mongo/ListOneToManyOrderingSpec.groovy | 2 +- .../datastore/gorm/mongo/MapOfDomainsSpec.groovy | 2 +- .../datastore/gorm/mongo/MarkDirtyFalseSpec.groovy | 2 +- .../MongoDynamicPropertyOnEmbeddedSpec.groovy | 2 +- .../gorm/mongo/MongoGormEnhancerSpec.groovy | 2 +- .../datastore/gorm/mongo/MongoTypesSpec.groovy | 2 +- .../datastore/gorm/mongo/NegationEnumSpec.groovy | 2 +- .../gorm/mongo/NullsAreNotStoredSpec.groovy | 2 +- .../gorm/mongo/ObjectIdPersistenceSpec.groovy | 2 +- .../gorm/mongo/ObjectIdPropertySpec.groovy | 2 +- .../gorm/mongo/OneToManyWithInheritanceSpec.groovy | 2 +- .../gorm/mongo/OneToOneNoReferenceSpec.groovy | 2 +- .../OptimisticLockingWithExceptionSpec.groovy | 2 +- .../datastore/gorm/mongo/ProjectionsSpec.groovy | 2 +- .../QueriesWithIdenticallyNamedPartsSpec.groovy | 2 +- .../gorm/mongo/ReadManyObjectsSpec.groovy | 2 +- .../datastore/gorm/mongo/SetRetrievalSpec.groovy | 2 +- .../datastore/gorm/mongo/SimpleHasManySpec.groovy | 2 +- .../datastore/gorm/mongo/StatelessSpec.groovy | 2 +- .../gorm/mongo/SwitchDatabaseAtRuntimeSpec.groovy | 2 +- .../datastore/gorm/mongo/TestSearchSpec.groovy | 2 +- .../gorm/mongo/TransientPropertySpec.groovy | 2 +- .../gorm/mongo/WhereQueryInCriteriaSpec.groovy | 2 +- .../datastore/gorm/mongo/WriteConcernSpec.groovy | 2 +- .../gorm/mongo/bugs/GPMongoDB295Spec.groovy | 2 +- .../tests/AbstractNonGormParentClassSpec.groovy | 2 +- .../grails/gorm/tests/CircularCascadeSpec.groovy | 2 +- .../DetachedCriteriaAssociationQuerySpec.groovy | 2 +- .../TransactionalTransformOnServiceSpec.groovy | 2 +- .../grails/gorm/tests/WhereMethodSpec.groovy | 2 +- .../gorm/tests/validation/ArrayMaxSizeSpec.groovy | 2 +- .../gorm/AddToAndInjectedServiceSpec.groovy | 2 +- .../gorm/AddToMethodWithBasicCollectionSpec.groovy | 2 +- .../AddToMethodWithEmbeddedCollectionSpec.groovy | 2 +- .../datastore/gorm/AssignedIdentifierSpec.groovy | 2 +- .../gorm/AutoLinkOneToManyAssociationSpec.groovy | 2 +- .../datastore/gorm/BasicTypeHasManySpec.groovy | 2 +- .../datastore/gorm/BeforeUpdateEventSpec.groovy | 2 +- ...idirectionalOneToManyWithInheritanceSpec.groovy | 2 +- .../grails/datastore/gorm/CacheAndJoinSpec.groovy | 2 +- .../datastore/gorm/CircularManyToManySpec.groovy | 2 +- .../datastore/gorm/CircularManyToOneSpec.groovy | 2 +- .../datastore/gorm/CircularOneToManySpec.groovy | 2 +- .../datastore/gorm/CompositeIdentifierSpec.groovy | 2 +- .../gorm/CriteriaProjectedResultsSpec.groovy | 2 +- .../datastore/gorm/CustomAutoTimestampSpec.groovy | 2 +- .../gorm/CustomSequenceIdentifierSpec.groovy | 2 +- .../gorm/CustomStringIdentifierSpec.groovy | 2 +- .../gorm/CustomTypeMarshallingSpec.groovy | 2 +- .../grails/datastore/gorm/DeindexingSpec.groovy | 2 +- .../gorm/DetachedCriteriaJpaEntitySpec.groovy | 2 +- .../grails/datastore/gorm/DirtyCheckingSpec.groovy | 2 +- .../gorm/DomainWithPrimitiveGetterSpec.groovy | 2 +- .../gorm/DynamicFinderHungarianNotationSpec.groovy | 2 +- .../datastore/gorm/EmbeddedAssociationSpec.groovy | 2 +- .../gorm/EmbeddedNonEntityAssociationSpec.groovy | 2 +- .../grails/datastore/gorm/EnumHasManySpec.groovy | 2 +- .../datastore/gorm/FindByDomainInListSpec.groovy | 2 +- .../datastore/gorm/GormDirtyCheckingSpec.groovy | 2 +- .../gorm/HasManyDefaultMappedBySpec.groovy | 2 +- .../datastore/gorm/HasOneSetInverseSideSpec.groovy | 2 +- .../gorm/InOperatorWithAssociationsSpec.groovy | 2 +- .../gorm/InheritanceWithOneToManySpec.groovy | 2 +- .../gorm/ListOrderByHungarianNotationSpec.groovy | 2 +- .../grails/datastore/gorm/ManyToManySpec.groovy | 2 +- .../grails/datastore/gorm/MappedByNoneSpec.groovy | 2 +- .../gorm/NestedAssociationQuerySpec.groovy | 2 +- .../gorm/NestedCriteriaWithNamedQuerySpec.groovy | 2 +- .../grails/datastore/gorm/NotNullQuerySpec.groovy | 2 +- .../gorm/QueryNonIndexedPropertySpec.groovy | 2 +- .../gorm/ReadOnlyCriteriaResultsSpec.groovy | 2 +- .../gorm/SaveWithFailOnErrorDefaultSpec.groovy | 2 +- .../datastore/gorm/UUIDTypeIdentifierSpec.groovy | 2 +- .../grails/datastore/gorm/UUIIdentifierSpec.groovy | 2 +- .../datastore/mapping/EntityReflectorSpec.groovy | 2 +- .../groovy/grails/gorm/DetachedCriteria.groovy | 202 +- .../main/groovy/grails/gorm/PagedResultList.java | 13 +- .../org/grails/datastore/gorm/GormEnhancer.groovy | 182 +- .../org/grails/datastore/gorm/GormEntity.groovy | 25 +- .../org/grails/datastore/gorm/GormStaticApi.groovy | 191 +- .../gorm/finders/AbstractFindByFinder.java | 38 +- .../datastore/gorm/finders/CountByFinder.java | 38 +- .../datastore/gorm/finders/DynamicFinder.java | 187 +- .../datastore/gorm/finders/FindAllByFinder.java | 48 +- .../datastore/gorm/query/NamedCriteriaProxy.groovy | 286 --- .../query/criteria/AbstractDetachedCriteria.groovy | 2 +- .../testing/tck/base/GrailsDataTckManager.groovy | 96 +- .../data/testing/tck/domains/ChildPersister.groovy | 8 + .../testing/tck/domains/Child_BT_Default_P.groovy | 9 + .../data/testing/tck/domains/CommonTypes.groovy | 4 + .../grails/data/testing/tck/domains/Country.groovy | 2 +- .../data/testing/tck/domains/EagerOwner.groovy | 14 + .../testing/tck/domains/Owner_Default_Bi_P.groovy | 10 + .../testing/tck/domains/Owner_Default_Uni_P.groovy | 9 + .../grails/data/testing/tck/domains/Person.groovy | 22 +- .../grails/data/testing/tck/domains/Pet.groovy | 14 +- .../data/testing/tck/domains/SimpleCountry.groovy | 11 + .../data/testing/tck/tests/AttachMethodSpec.groovy | 3 + ...intWorksWithTargetProxiesConstraintsSpec.groovy | 2 +- .../testing/tck/tests/CircularOneToManySpec.groovy | 18 +- .../tck/tests/CommonTypesPersistenceSpec.groovy | 3 + .../data/testing/tck/tests/ConstraintsSpec.groovy | 2 +- .../testing/tck/tests/CriteriaBuilderSpec.groovy | 101 +- .../testing/tck/tests/CrudOperationsSpec.groovy | 37 +- .../data/testing/tck/tests/DeleteAllSpec.groovy | 38 +- .../testing/tck/tests/DetachedCriteriaSpec.groovy | 228 +- .../tests/DirtyCheckingAfterListenerSpec.groovy | 33 +- .../testing/tck/tests/DirtyCheckingSpec.groovy | 2 +- .../tck/tests/DisableAutotimeStampSpec.groovy | 2 +- .../data/testing/tck/tests/DomainEventsSpec.groovy | 4 + .../grails/data/testing/tck/tests/EnumSpec.groovy | 89 +- .../testing/tck/tests/FindByExampleSpec.groovy | 41 +- .../data/testing/tck/tests/FindByMethodSpec.groovy | 63 +- .../testing/tck/tests/FindOrCreateWhereSpec.groovy | 4 + .../testing/tck/tests/FindOrSaveWhereSpec.groovy | 4 + .../data/testing/tck/tests/FindWhereSpec.groovy | 19 +- .../tck/tests/FirstAndLastMethodSpec.groovy | 10 +- .../data/testing/tck/tests/GormEnhancerSpec.groovy | 106 +- .../testing/tck/tests/GormValidateableSpec.groovy | 4 + .../data/testing/tck/tests/GroovyProxySpec.groovy | 44 +- .../data/testing/tck/tests/InheritanceSpec.groovy | 2 +- .../data/testing/tck/tests/ListOrderBySpec.groovy | 30 +- .../data/testing/tck/tests/NamedQuerySpec.groovy | 303 +-- .../data/testing/tck/tests/NegationSpec.groovy | 64 +- .../data/testing/tck/tests/NotInListSpec.groovy | 18 +- .../testing/tck/tests/NullValueEqualSpec.groovy | 25 +- .../data/testing/tck/tests/OneToManySpec.groovy | 103 +- .../data/testing/tck/tests/OneToOneSpec.groovy | 60 +- .../testing/tck/tests/OptimisticLockingSpec.groovy | 124 +- .../data/testing/tck/tests/OrderBySpec.groovy | 30 +- .../data/testing/tck/tests/PagedResultSpec.groovy | 82 +- .../tck/tests/PersistenceEventListenerSpec.groovy | 2 +- .../tck/tests/PropertyComparisonQuerySpec.groovy | 2 +- .../tck/tests/ProxyInitializationSpec.groovy | 2 +- .../data/testing/tck/tests/ProxyLoadingSpec.groovy | 18 +- .../tck/tests/QueryAfterPropertyChangeSpec.groovy | 18 +- .../tck/tests/QueryByAssociationSpec.groovy | 14 +- .../data/testing/tck/tests/QueryByNullSpec.groovy | 4 + .../data/testing/tck/tests/QueryEventsSpec.groovy | 3 +- .../data/testing/tck/tests/RangeQuerySpec.groovy | 33 +- .../data/testing/tck/tests/SaveAllSpec.groovy | 30 +- .../tck/tests/SessionCreationEventSpec.groovy | 1 + .../data/testing/tck/tests/SizeQuerySpec.groovy | 387 +--- .../testing/tck/tests/UniqueConstraintSpec.groovy | 2 +- .../tck/tests/UpdateWithProxyPresentSpec.groovy | 2 +- .../data/testing/tck/tests/ValidationSpec.groovy | 188 +- .../data/testing/tck/tests/WhereLazySpec.groovy | 2 +- .../testing/tck/tests/WithTransactionSpec.groovy | 37 +- .../datastore/mapping/model/PersistentEntity.java | 6 +- .../mapping/model/PersistentProperty.java | 38 + .../datastore/mapping/model/types/Association.java | 41 + .../datastore/mapping/model/types/Basic.java | 15 +- .../org/grails/datastore/mapping/query/Query.java | 6 +- grails-forge/gradle.properties | 2 +- grails-gradle/gradle/test-config.gradle | 1 + grails-test-suite-uber/build.gradle | 3 + settings.gradle | 50 + 759 files changed, 43012 insertions(+), 3159 deletions(-)
