This is an automated email from the ASF dual-hosted git repository. borinquenkid pushed a commit to branch 8.0.x-hibernate6 in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 326a7b9fbb7ce6f1e35b45ba82c73b6a8ecd1288 Merge: f88784b5db 0feacee7b4 Author: Walter Duque de Estrada <[email protected]> AuthorDate: Tue Dec 2 22:34:03 2025 -0600 Merge branch '7.1.x-hibernate6' into 8.0.x-hibernate .gitignore | 4 + .../org/apache/grails/buildsrc/SbomPlugin.groovy | 31 +- gradle.properties | 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/publish-root-config.gradle | 6 + 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 | 3 +- .../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 | 22 + grails-data-hibernate6/boot-plugin/build.gradle | 67 + .../HibernateGormAutoConfiguration.groovy | 136 ++ .../compiler/GormCompilerAutoConfiguration.groovy | 52 + ...g.grails.cli.compiler.CompilerAutoConfiguration | 1 + ...rk.boot.autoconfigure.AutoConfiguration.imports | 1 + .../HibernateGormAutoConfigurationSpec.groovy | 93 + .../reader/GroovyBeanDefinitionReaderSpec.groovy | 57 + grails-data-hibernate6/core/build.gradle | 122 + .../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 | 666 ++++++ .../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 | 2356 ++++++++++++++++++++ .../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/BackTigsTrimmer.java | 13 + .../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 + .../ShouldCollectionBindWithJoinColumn.java | 17 + .../cfg/domainbinding/SimpleValueBinder.java | 119 + .../cfg/domainbinding/SimpleValueColumnBinder.java | 31 + .../domainbinding/SimpleValueColumnFetcher.java | 12 + .../StringColumnConstraintsBinder.java | 39 + .../cfg/domainbinding/TableForManyCalculator.java | 111 + .../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 | 331 +++ .../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 | 127 ++ .../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 | 5 +- .../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 | 59 +- ...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 | 53 +- .../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 +- .../gorm/specs/multitenancy/Department.groovy | 12 + .../specs/multitenancy/DepartmentService.groovy | 25 + .../MultiTenancyBidirectionalManyToManySpec.groovy | 102 +- .../MultiTenancyUnidirectionalOneToManySpec.groovy | 20 +- .../grails/gorm/specs/multitenancy/User.groovy | 18 + .../gorm/specs/multitenancy/UserService.groovy | 23 + .../grails/gorm/specs}/perf/JoinPerfSpec.groovy | 2 +- .../gorm/specs/proxy/ByteBuddyProxySpec.groovy | 104 + .../specs/proxy/Hibernate6GroovyProxySpec.groovy | 39 + .../grails/gorm/specs}/proxy/StaticTestUtil.groovy | 8 +- .../gorm/specs}/services/DataServiceSpec.groovy | 51 +- .../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/BackTigsTrimmerSpec.groovy | 30 + .../cfg/domainbinding/BackticksRemoverSpec.groovy | 39 + .../CascadeBehaviorFetcherSpec.groovy | 225 ++ .../CascadeBehaviorPersisterSpec.groovy | 565 +++++ .../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 + .../ShouldCollectionBindWithJoinColumnSpec.groovy | 51 + .../cfg/domainbinding/SimpleValueBinderSpec.groovy | 183 ++ .../SimpleValueColumnBinderSpec.groovy | 49 + .../StringColumnConstraintsBinderSpec.groovy | 116 + .../TableForManyCalculatorSpec.groovy | 77 + .../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 + .../hibernate/connections/MultiTenantAuthor.groovy | 22 + .../connections/MultiTenantAuthorService.groovy | 16 + .../hibernate/connections/MultiTenantBook.groovy | 24 + .../connections/MultiTenantPublisher.groovy | 17 + .../MultipleDataSourceConnectionsSpec.groovy | 170 ++ .../MultipleDataSourceMetadataSpec.groovy | 91 + .../MultipleDataSourcesWithCachingSpec.groovy | 75 + .../MultipleDataSourcesWithEventsSpec.groovy | 137 ++ .../connections/PartitionedMultiTenancySpec.groovy | 352 +++ .../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/dbmigration/README.md | 65 + grails-data-hibernate6/dbmigration/build.gradle | 115 + .../command/DbmChangelogSyncCommand.groovy | 19 +- .../command/DbmChangelogSyncSqlCommand.groovy | 29 +- .../command/DbmClearChecksumsCommand.groovy | 19 +- .../command/DbmDbDocCommand.groovy | 26 +- .../command/DbmDiffCommand.groovy | 69 + .../command/DbmDropAllCommand.groovy | 33 +- .../DbmFutureRollbackCountSqlCommand.groovy | 51 + .../command/DbmFutureRollbackSqlCommand.groovy | 25 +- .../command/DbmGenerateChangelogCommand.groovy | 58 + .../command/DbmGenerateGormChangelogCommand.groovy | 59 + .../command/DbmGormDiffCommand.groovy | 60 + .../command/DbmListLocksCommand.groovy | 58 + .../command/DbmMarkNextChangesetRanCommand.groovy | 19 +- .../DbmMarkNextChangesetRanSqlCommand.groovy | 29 +- .../command/DbmPreviousChangesetSqlCommand.groovy | 63 + .../command/DbmReleaseLocksCommand.groovy | 19 +- .../command/DbmRollbackCommand.groovy | 27 +- .../command/DbmRollbackCountCommand.groovy | 47 + .../command/DbmRollbackCountSqlCommand.groovy | 51 + .../command/DbmRollbackSqlCommand.groovy | 48 + .../command/DbmRollbackToDateCommand.groovy | 55 + .../command/DbmRollbackToDateSqlCommand.groovy | 67 + .../command/DbmStatusCommand.groovy | 30 +- .../databasemigration/command/DbmTagCommand.groovy | 31 +- .../command/DbmUpdateCommand.groovy | 23 +- .../command/DbmUpdateCountCommand.groovy | 47 + .../command/DbmUpdateCountSqlCommand.groovy | 50 + .../command/DbmUpdateSqlCommand.groovy | 25 +- .../command/DbmValidateCommand.groovy | 19 +- .../dbmigration/grails-app/conf/application.yml | 28 + .../dbmigration/grails-app/conf/logback.groovy | 56 + .../grails-app/domain/testapp/Account.groovy | 12 +- .../grails-app/domain/testapp/Person.groovy | 15 +- .../init/databasemigration/Application.groovy | 16 +- .../AutoRunWithMultipleDataSourceSpec.groovy | 64 + .../AutoRunWithSingleDataSourceSpec.groovy | 57 +- .../databasemigration/DbUpdateCommandSpec.groovy | 88 + .../resources/application-multiple-datasource.yml | 44 + .../resources/application-single-datasource.yml | 33 + .../application-transaction-datasource.yml | 44 + .../resources/changelog-account-person-init.groovy | 76 + .../resources/changelog-account-sql.groovy | 14 +- .../resources/changelog-person-grails.groovy | 37 +- .../resources/changelog-second.groovy | 61 + .../resources/changelog-transaction.groovy | 16 +- .../integration-test/resources/changelog.groovy | 75 + .../integration-test/resources/logback-test.xml | 36 + .../DatabaseMigrationException.groovy | 14 +- .../DatabaseMigrationGrailsPlugin.groovy | 130 ++ .../DatabaseMigrationTransactionManager.groovy | 145 ++ .../EnvironmentAwareCodeGenConfig.groovy | 20 +- .../plugins/databasemigration/NoopVisitor.groovy | 26 +- .../databasemigration/PluginConstants.groovy | 13 +- ...plicationContextDatabaseMigrationCommand.groovy | 129 ++ .../command/DatabaseMigrationCommand.groovy | 429 ++++ .../command/DbmChangelogToGroovy.groovy | 83 + .../command/DbmCreateChangelog.groovy | 60 + .../command/ScriptDatabaseMigrationCommand.groovy | 71 + .../liquibase/ChangelogXml2Groovy.groovy | 111 + .../liquibase/DatabaseChangeLogBuilder.groovy | 133 ++ .../liquibase/EmbeddedJarPathHandler.groovy | 97 + .../liquibase/GormDatabase.groovy | 87 + .../liquibase/GrailsLiquibase.groovy | 106 + .../liquibase/GrailsLiquibaseFactory.groovy | 26 +- .../liquibase/GroovyChange.groovy | 332 +++ .../liquibase/GroovyChangeLogParser.groovy | 106 + .../liquibase/GroovyChangeLogSerializer.groovy | 60 + .../GroovyDiffToChangeLogCommandStep.groovy | 82 + .../GroovyGenerateChangeLogCommandStep.groovy | 102 + .../liquibase/GroovyPrecondition.groovy | 202 ++ .../META-INF/services/liquibase.change.Change | 1 + .../services/liquibase.command.CommandStep | 2 + .../META-INF/services/liquibase.database.Database | 1 + .../services/liquibase.parser.ChangeLogParser | 1 + .../services/liquibase.precondition.Precondition | 1 + .../services/liquibase.resource.PathHandler | 1 + .../liquibase.serializer.ChangeLogSerializer | 1 + .../dbmigration/src/main/resources/migration.gdsl | 686 ++++++ .../main/scripts/dbm-changelog-to-groovy.groovy | 36 + .../src/main/scripts/dbm-create-changelog.groovy | 35 + ...ationContextDatabaseMigrationCommandSpec.groovy | 127 ++ .../DatabaseMigrationCommandConfigSpec.groovy | 112 + .../command/DatabaseMigrationCommandSpec.groovy | 60 + .../command/DbmChangelogSyncCommandSpec.groovy | 40 +- .../command/DbmChangelogSyncCommandSqlSpec.groovy | 68 + .../command/DbmClearChecksumsCommandSpec.groovy | 46 + .../command/DbmDiffCommandSpec.groovy | 140 ++ .../command/DbmDropAllCommandSpec.groovy | 33 +- .../DbmFutureRollbackCountSqlCommandSpec.groovy | 135 ++ .../command/DbmFutureRollbackSqlCommandSpec.groovy | 106 + .../command/DbmGenerateChangelogCommandSpec.groovy | 117 + .../DbmGenerateGormChangelogCommandSpec.groovy | 155 ++ .../command/DbmGormDiffCommandSpec.groovy | 127 ++ .../command/DbmListLocksCommandSpec.groovy | 61 + .../DbmMarkNextChangesetRanCommandSpec.groovy | 40 +- .../DbmMarkNextChangesetRanSqlCommandSpec.groovy | 68 + .../DbmPreviousChangesetSqlCommandSpec.groovy | 134 ++ .../command/DbmReleaseLocksCommandSpec.groovy | 31 +- .../command/DbmRollbackCommandSpec.groovy | 100 + .../command/DbmRollbackCountCommandSpec.groovy | 107 + .../command/DbmRollbackCountSqlCommandSpec.groovy | 123 + .../command/DbmRollbackSqlCommandSpec.groovy | 116 + .../command/DbmRollbackToDateCommandSpec.groovy | 114 + .../command/DbmRollbackToDateSqlCommandSpec.groovy | 132 ++ .../command/DbmStatusCommandSpec.groovy | 64 + .../command/DbmUpdateCommandSpec.groovy | 120 + .../command/DbmUpdateCountCommandSpec.groovy | 101 + .../command/DbmUpdateCountSqlCommandSpec.groovy | 137 ++ .../command/DbmUpdateSqlCommandSpec.groovy | 140 ++ .../command/DbmValidateCommandSpec.groovy | 90 + .../ScriptDatabaseMigrationCommandSpec.groovy | 59 + .../liquibase/GroovyChangeLogSpec.groovy | 240 ++ .../liquibase/GroovyPreconditionSpec.groovy | 284 +++ .../testing/OutputCaptureExtension.groovy | 113 + .../testing/annotation/OutputCapture.groovy | 23 +- .../dbmigration/src/test/resources/logback.groovy | 38 +- 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 + grails-data-hibernate6/grails-plugin/build.gradle | 96 + .../HibernateDatastoreSpringInitializer.groovy | 208 ++ .../plugin/hibernate/HibernateGrailsPlugin.groovy | 106 + .../hibernate/commands/SchemaExportCommand.groovy | 103 + .../grails/test/hibernate/HibernateSpec.groovy | 166 ++ ...urceAggregatePersistenceContextInterceptor.java | 119 + .../AggregatePersistenceContextInterceptor.java | 44 + .../GrailsOpenSessionInViewInterceptor.java | 88 + .../HibernatePersistenceContextInterceptor.java | 243 ++ ...nFactoryAwarePersistenceContextInterceptor.java | 17 +- .../HibernateDatastoreSpringInitializerSpec.groovy | 131 ++ .../hibernate/HibernateSpecOverrideSpec.groovy | 21 +- .../test/mixin/hibernate/HibernateSpecSpec.groovy | 100 + .../src/test/resources/application.yml | 21 + .../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 +- .../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 +- grails-data-test-report/build.gradle | 8 - .../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 +- .../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 | 28 +- .../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 | 38 +- .../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 | 4 +- grails-doc/src/en/guide/scaffolding.adoc | 170 +- .../src/en/guide/upgrading/upgrading60x.adoc | 146 +- grails-doc/src/en/ref/Plug-ins/scaffolding.adoc | 36 +- grails-gradle/gradle/test-config.gradle | 1 + .../CreateScaffoldControllerCommand.groovy | 24 +- ....groovy => CreateScaffoldServiceCommand.groovy} | 27 +- .../scaffolding/GenerateScaffoldAllCommand.groovy | 96 + .../plugin/scaffolding/CommandLineHelper.groovy | 9 + .../grails/plugin/scaffolding/GormService.groovy | 7 +- .../scaffolding/RestfulServiceController.groovy | 34 +- .../plugin/scaffolding/ScaffoldService.groovy | 114 + .../plugin/scaffolding/annotation/Scaffold.java | 93 + .../ScaffoldingControllerInjector.groovy | 46 +- .../scaffolding/ScaffoldingServiceInjector.groovy | 22 +- .../main/scripts/CreateScaffoldController.groovy | 26 +- ...troller.groovy => CreateScaffoldService.groovy} | 20 +- .../src/main/scripts/GenerateScaffoldAll.groovy | 64 + .../scaffolding/ScaffoldedController.groovy | 13 +- .../templates/scaffolding/ScaffoldedService.groovy | 8 + .../hibernate6/grails-data-service/build.gradle | 53 + .../grails-app/conf/application.yml | 81 + .../grails-app/conf/logback.xml | 37 + .../grails-app/conf/spring/resources.groovy | 15 +- .../example/ApplicationController.groovy | 15 +- .../controllers/example/UrlMappings.groovy | 18 +- .../grails-app/domain/example/Book.groovy | 12 +- .../grails-app/domain/example/Person.groovy | 12 +- .../grails-app/domain/example/Student.groovy | 12 +- .../grails-app/i18n/messages.properties | 71 + .../grails-app/init/example/Application.groovy | 14 +- .../grails-app/init/example/BootStrap.groovy | 11 +- .../grails-app/services/example/BookService.groovy | 12 +- .../services/example/LibraryService.groovy | 23 +- .../services/example/PersonService.groovy | 13 +- .../services/example/StudentService.groovy | 37 +- .../grails-app/services/example/TestService.groovy | 15 +- .../grails-app/views/application/index.gson | 52 + .../grails-app/views/error.gson | 15 +- .../grails-app/views/errors/_errors.gson | 61 + .../grails-app/views/notFound.gson | 15 +- .../grails-app/views/object/_object.gson | 12 +- .../groovy/example/ServiceInjectionSpec.groovy | 22 +- .../groovy/example/StudentServiceSpec.groovy | 35 +- .../groovy/example/TestServiceSpec.groovy | 58 +- .../main/groovy/example/ClassUsingAService.groovy | 15 +- .../src/main/groovy/example/TestBean.groovy | 21 +- .../grails-database-per-tenant/build.gradle | 66 + .../assets/images/apple-touch-icon-retina.png | Bin 0 -> 14986 bytes .../grails-app/assets/images/apple-touch-icon.png | Bin 0 -> 5434 bytes .../grails-app/assets/images/favicon.ico | Bin 0 -> 10134 bytes .../grails-app/assets/images/grails_logo.png | Bin 0 -> 10172 bytes .../grails-app/assets/images/skin/database_add.png | Bin 0 -> 658 bytes .../assets/images/skin/database_delete.png | Bin 0 -> 659 bytes .../assets/images/skin/database_edit.png | Bin 0 -> 767 bytes .../assets/images/skin/database_save.png | Bin 0 -> 755 bytes .../assets/images/skin/database_table.png | Bin 0 -> 726 bytes .../grails-app/assets/images/skin/exclamation.png | Bin 0 -> 701 bytes .../grails-app/assets/images/skin/house.png | Bin 0 -> 806 bytes .../grails-app/assets/images/skin/information.png | Bin 0 -> 778 bytes .../grails-app/assets/images/skin/shadow.jpg | Bin 0 -> 300 bytes .../grails-app/assets/images/skin/sorted_asc.gif | Bin 0 -> 835 bytes .../grails-app/assets/images/skin/sorted_desc.gif | Bin 0 -> 834 bytes .../grails-app/assets/images/spinner.gif | Bin 0 -> 2037 bytes .../grails-app/assets/javascripts/application.js | 30 +- .../grails-app/assets/stylesheets/application.css | 25 +- .../grails-app/assets/stylesheets/errors.css | 128 ++ .../grails-app/assets/stylesheets/main.css | 588 +++++ .../grails-app/assets/stylesheets/mobile.css | 101 + .../grails-app/conf/application.yml | 92 + .../grails-app/conf/logback.xml | 37 + .../controllers/example/BookController.groovy | 121 + .../controllers/example/UrlMappings.groovy | 29 +- .../grails-app/domain/example/Book.groovy | 19 +- .../grails-app/i18n/messages.properties | 70 + .../grails-app/i18n/messages_cs_CZ.properties | 70 + .../grails-app/i18n/messages_da.properties | 71 + .../grails-app/i18n/messages_de.properties | 70 + .../grails-app/i18n/messages_es.properties | 70 + .../grails-app/i18n/messages_fr.properties | 34 + .../grails-app/i18n/messages_it.properties | 70 + .../grails-app/i18n/messages_ja.properties | 70 + .../grails-app/i18n/messages_nb.properties | 71 + .../grails-app/i18n/messages_nl.properties | 70 + .../grails-app/i18n/messages_pl.properties | 74 + .../grails-app/i18n/messages_pt_BR.properties | 74 + .../grails-app/i18n/messages_pt_PT.properties | 49 + .../grails-app/i18n/messages_ru.properties | 46 + .../grails-app/i18n/messages_sv.properties | 70 + .../grails-app/i18n/messages_th.properties | 70 + .../grails-app/i18n/messages_zh_CN.properties | 33 + .../grails-app/init/datasources/Application.groovy | 15 +- .../services/example/AnotherBookService.groovy | 26 +- .../grails-app/services/example/BookService.groovy | 26 +- .../grails-app/views/book/create.gsp | 56 + .../grails-app/views/book/edit.gsp | 58 + .../grails-app/views/book/index.gsp | 46 + .../grails-app/views/book/show.gsp | 49 + .../grails-app/views/error.gsp | 49 + .../grails-app/views/index.gsp | 147 ++ .../grails-app/views/layouts/main.gsp | 37 + .../grails-app/views/notFound.gsp | 32 + .../DatabasePerTenantIntegrationSpec.groovy | 118 + .../groovy/example/DatabasePerTenantSpec.groovy | 98 + .../grails-hibernate-groovy-proxy/build.gradle | 48 + .../grails-app/conf/application.yml | 32 + .../grails-app/conf/logback.xml | 37 + .../grails-app/domain/example/Customer.groovy | 22 +- .../grails-app/init/datasources/Application.groovy | 15 +- .../src/test/groovy/example/ProxySpec.groovy | 50 +- .../hibernate6/grails-hibernate/build.gradle | 77 + .../assets/images/apple-touch-icon-retina.png | Bin 0 -> 14986 bytes .../grails-app/assets/images/apple-touch-icon.png | Bin 0 -> 5434 bytes .../grails-app/assets/images/favicon.ico | Bin 0 -> 10134 bytes .../grails-app/assets/images/grails_logo.png | Bin 0 -> 10172 bytes .../grails-app/assets/images/skin/database_add.png | Bin 0 -> 658 bytes .../assets/images/skin/database_delete.png | Bin 0 -> 659 bytes .../assets/images/skin/database_edit.png | Bin 0 -> 767 bytes .../assets/images/skin/database_save.png | Bin 0 -> 755 bytes .../assets/images/skin/database_table.png | Bin 0 -> 726 bytes .../grails-app/assets/images/skin/exclamation.png | Bin 0 -> 701 bytes .../grails-app/assets/images/skin/house.png | Bin 0 -> 806 bytes .../grails-app/assets/images/skin/information.png | Bin 0 -> 778 bytes .../grails-app/assets/images/skin/shadow.jpg | Bin 0 -> 300 bytes .../grails-app/assets/images/skin/sorted_asc.gif | Bin 0 -> 835 bytes .../grails-app/assets/images/skin/sorted_desc.gif | Bin 0 -> 834 bytes .../grails-app/assets/images/spinner.gif | Bin 0 -> 2037 bytes .../grails-app/assets/javascripts/application.js | 30 +- .../grails-app/assets/stylesheets/application.css | 25 +- .../grails-app/assets/stylesheets/errors.css | 128 ++ .../grails-app/assets/stylesheets/main.css | 588 +++++ .../grails-app/assets/stylesheets/mobile.css | 101 + .../grails-app/conf/application.yml | 102 + .../grails-hibernate/grails-app/conf/logback.xml | 37 + .../grails-app/conf/spring/resources.groovy | 12 +- .../functional/tests/BookController.groovy | 127 ++ .../functional/tests/ProductController.groovy | 19 +- .../functional/tests/UrlMappings.groovy | 17 +- .../grails-app/domain/functional/tests/Book.groovy | 11 +- .../domain/functional/tests/Business.groovy | 14 +- .../domain/functional/tests/Employee.groovy | 14 +- .../domain/functional/tests/Person.groovy | 12 +- .../domain/functional/tests/Product.groovy | 22 +- .../grails-app/i18n/messages.properties | 70 + .../grails-app/i18n/messages_cs_CZ.properties | 70 + .../grails-app/i18n/messages_da.properties | 71 + .../grails-app/i18n/messages_de.properties | 70 + .../grails-app/i18n/messages_es.properties | 70 + .../grails-app/i18n/messages_fr.properties | 34 + .../grails-app/i18n/messages_it.properties | 70 + .../grails-app/i18n/messages_ja.properties | 70 + .../grails-app/i18n/messages_nb.properties | 71 + .../grails-app/i18n/messages_nl.properties | 70 + .../grails-app/i18n/messages_pl.properties | 74 + .../grails-app/i18n/messages_pt_BR.properties | 74 + .../grails-app/i18n/messages_pt_PT.properties | 49 + .../grails-app/i18n/messages_ru.properties | 46 + .../grails-app/i18n/messages_sv.properties | 70 + .../grails-app/i18n/messages_th.properties | 70 + .../grails-app/i18n/messages_zh_CN.properties | 33 + .../init/functional/tests/Application.groovy | 19 +- .../init/functional/tests/BootStrap.groovy | 19 +- .../services/functional/tests/BookService.groovy | 15 +- .../grails-app/views/book/create.gsp | 56 + .../grails-app/views/book/edit.gsp | 58 + .../grails-app/views/book/index.gsp | 46 + .../grails-app/views/book/show.gsp | 49 + .../grails-hibernate/grails-app/views/error.gsp | 49 + .../grails-hibernate/grails-app/views/index.gsp | 141 ++ .../grails-app/views/layouts/main.gsp | 37 + .../grails-hibernate/grails-app/views/notFound.gsp | 32 + .../functional/tests/BookControllerSpec.groovy | 35 +- .../functional/tests}/CascadeValidationSpec.groovy | 37 +- .../groovy/functional/tests/ProductSpec.groovy | 68 + .../src/main/groovy/another/Item.groovy | 21 +- ...stomHibernateMappingContextConfiguration.groovy | 11 +- .../functional/tests/BookControllerUnitSpec.groovy | 182 ++ .../grails-multiple-datasources/build.gradle | 67 + .../grails-app/conf/application.yml | 87 + .../grails-app/conf/logback.xml | 37 + .../grails-app/domain/ds2/Book.groovy | 14 +- .../grails-app/domain/example/Book.groovy | 12 +- .../grails-app/init/datasources/Application.groovy | 15 +- .../grails-app/services/example/BookService.groovy | 17 +- .../functionaltests/MultipleDataSourcesSpec.groovy | 54 + .../grails-partitioned-multi-tenancy/build.gradle | 65 + .../assets/images/apple-touch-icon-retina.png | Bin 0 -> 14986 bytes .../grails-app/assets/images/apple-touch-icon.png | Bin 0 -> 5434 bytes .../grails-app/assets/images/favicon.ico | Bin 0 -> 10134 bytes .../grails-app/assets/images/grails_logo.png | Bin 0 -> 10172 bytes .../grails-app/assets/images/skin/database_add.png | Bin 0 -> 658 bytes .../assets/images/skin/database_delete.png | Bin 0 -> 659 bytes .../assets/images/skin/database_edit.png | Bin 0 -> 767 bytes .../assets/images/skin/database_save.png | Bin 0 -> 755 bytes .../assets/images/skin/database_table.png | Bin 0 -> 726 bytes .../grails-app/assets/images/skin/exclamation.png | Bin 0 -> 701 bytes .../grails-app/assets/images/skin/house.png | Bin 0 -> 806 bytes .../grails-app/assets/images/skin/information.png | Bin 0 -> 778 bytes .../grails-app/assets/images/skin/shadow.jpg | Bin 0 -> 300 bytes .../grails-app/assets/images/skin/sorted_asc.gif | Bin 0 -> 835 bytes .../grails-app/assets/images/skin/sorted_desc.gif | Bin 0 -> 834 bytes .../grails-app/assets/images/spinner.gif | Bin 0 -> 2037 bytes .../grails-app/assets/javascripts/application.js | 30 +- .../grails-app/assets/stylesheets/application.css | 25 +- .../grails-app/assets/stylesheets/errors.css | 128 ++ .../grails-app/assets/stylesheets/main.css | 588 +++++ .../grails-app/assets/stylesheets/mobile.css | 101 + .../grails-app/conf/application.yml | 86 + .../grails-app/conf/logback.xml | 37 + .../controllers/example/BookController.groovy | 121 + .../controllers/example/UrlMappings.groovy | 29 +- .../grails-app/domain/example/Book.groovy | 20 +- .../grails-app/i18n/messages.properties | 70 + .../grails-app/i18n/messages_cs_CZ.properties | 70 + .../grails-app/i18n/messages_da.properties | 71 + .../grails-app/i18n/messages_de.properties | 70 + .../grails-app/i18n/messages_es.properties | 70 + .../grails-app/i18n/messages_fr.properties | 34 + .../grails-app/i18n/messages_it.properties | 70 + .../grails-app/i18n/messages_ja.properties | 70 + .../grails-app/i18n/messages_nb.properties | 71 + .../grails-app/i18n/messages_nl.properties | 70 + .../grails-app/i18n/messages_pl.properties | 74 + .../grails-app/i18n/messages_pt_BR.properties | 74 + .../grails-app/i18n/messages_pt_PT.properties | 49 + .../grails-app/i18n/messages_ru.properties | 46 + .../grails-app/i18n/messages_sv.properties | 70 + .../grails-app/i18n/messages_th.properties | 70 + .../grails-app/i18n/messages_zh_CN.properties | 33 + .../grails-app/init/datasources/Application.groovy | 13 +- .../services/example/AnotherBookService.groovy | 25 +- .../grails-app/services/example/BookService.groovy | 26 +- .../grails-app/views/book/create.gsp | 56 + .../grails-app/views/book/edit.gsp | 58 + .../grails-app/views/book/index.gsp | 46 + .../grails-app/views/book/show.gsp | 49 + .../grails-app/views/error.gsp | 49 + .../grails-app/views/index.gsp | 147 ++ .../grails-app/views/layouts/main.gsp | 37 + .../grails-app/views/notFound.gsp | 32 + .../PartitionedMultiTenancyIntegrationSpec.groovy | 118 + .../example/PartitionedMultiTenancySpec.groovy | 96 + .../grails-schema-per-tenant/build.gradle | 65 + .../assets/images/apple-touch-icon-retina.png | Bin 0 -> 14986 bytes .../grails-app/assets/images/apple-touch-icon.png | Bin 0 -> 5434 bytes .../grails-app/assets/images/favicon.ico | Bin 0 -> 10134 bytes .../grails-app/assets/images/grails_logo.png | Bin 0 -> 10172 bytes .../grails-app/assets/images/skin/database_add.png | Bin 0 -> 658 bytes .../assets/images/skin/database_delete.png | Bin 0 -> 659 bytes .../assets/images/skin/database_edit.png | Bin 0 -> 767 bytes .../assets/images/skin/database_save.png | Bin 0 -> 755 bytes .../assets/images/skin/database_table.png | Bin 0 -> 726 bytes .../grails-app/assets/images/skin/exclamation.png | Bin 0 -> 701 bytes .../grails-app/assets/images/skin/house.png | Bin 0 -> 806 bytes .../grails-app/assets/images/skin/information.png | Bin 0 -> 778 bytes .../grails-app/assets/images/skin/shadow.jpg | Bin 0 -> 300 bytes .../grails-app/assets/images/skin/sorted_asc.gif | Bin 0 -> 835 bytes .../grails-app/assets/images/skin/sorted_desc.gif | Bin 0 -> 834 bytes .../grails-app/assets/images/spinner.gif | Bin 0 -> 2037 bytes .../grails-app/assets/javascripts/application.js | 30 +- .../grails-app/assets/stylesheets/application.css | 25 +- .../grails-app/assets/stylesheets/errors.css | 128 ++ .../grails-app/assets/stylesheets/main.css | 588 +++++ .../grails-app/assets/stylesheets/mobile.css | 101 + .../grails-app/conf/application.yml | 86 + .../grails-app/conf/logback.xml | 37 + .../schemapertenant/BookController.groovy | 121 + .../controllers/schemapertenant/UrlMappings.groovy | 29 +- .../grails-app/domain/schemapertenant/Book.groovy | 19 +- .../grails-app/i18n/messages.properties | 70 + .../grails-app/i18n/messages_cs_CZ.properties | 70 + .../grails-app/i18n/messages_da.properties | 71 + .../grails-app/i18n/messages_de.properties | 70 + .../grails-app/i18n/messages_es.properties | 70 + .../grails-app/i18n/messages_fr.properties | 34 + .../grails-app/i18n/messages_it.properties | 70 + .../grails-app/i18n/messages_ja.properties | 70 + .../grails-app/i18n/messages_nb.properties | 71 + .../grails-app/i18n/messages_nl.properties | 70 + .../grails-app/i18n/messages_pl.properties | 74 + .../grails-app/i18n/messages_pt_BR.properties | 74 + .../grails-app/i18n/messages_pt_PT.properties | 49 + .../grails-app/i18n/messages_ru.properties | 46 + .../grails-app/i18n/messages_sv.properties | 70 + .../grails-app/i18n/messages_th.properties | 70 + .../grails-app/i18n/messages_zh_CN.properties | 33 + .../init/schemapertenant/Application.groovy | 15 +- .../schemapertenant/AnotherBookService.groovy | 25 +- .../services/schemapertenant/BookService.groovy | 26 +- .../grails-app/views/book/create.gsp | 56 + .../grails-app/views/book/edit.gsp | 58 + .../grails-app/views/book/index.gsp | 46 + .../grails-app/views/book/show.gsp | 49 + .../grails-app/views/error.gsp | 49 + .../grails-app/views/index.gsp | 147 ++ .../grails-app/views/layouts/main.gsp | 37 + .../grails-app/views/notFound.gsp | 32 + .../SchemaPerTenantIntegrationSpec.groovy | 121 + .../schemapertenant/SchemaPerTenantSpec.groovy | 106 + .../hibernate6/issue450/build.gradle | 70 + .../grails-app/assets/images/advancedgrails.svg | 27 + .../assets/images/apple-touch-icon-retina.png | Bin 0 -> 7038 bytes .../grails-app/assets/images/apple-touch-icon.png | Bin 0 -> 3077 bytes .../grails-app/assets/images/documentation.svg | 19 + .../issue450/grails-app/assets/images/favicon.ico | Bin 0 -> 5558 bytes .../assets/images/grails-cupsonly-logo-white.svg | 26 + .../issue450/grails-app/assets/images/grails.svg | 13 + .../grails-app/assets/images/skin/database_add.png | Bin 0 -> 658 bytes .../assets/images/skin/database_delete.png | Bin 0 -> 659 bytes .../assets/images/skin/database_edit.png | Bin 0 -> 767 bytes .../assets/images/skin/database_save.png | Bin 0 -> 755 bytes .../assets/images/skin/database_table.png | Bin 0 -> 726 bytes .../grails-app/assets/images/skin/exclamation.png | Bin 0 -> 701 bytes .../grails-app/assets/images/skin/house.png | Bin 0 -> 806 bytes .../grails-app/assets/images/skin/information.png | Bin 0 -> 778 bytes .../grails-app/assets/images/skin/shadow.jpg | Bin 0 -> 300 bytes .../grails-app/assets/images/skin/sorted_asc.gif | Bin 0 -> 835 bytes .../grails-app/assets/images/skin/sorted_desc.gif | Bin 0 -> 834 bytes .../issue450/grails-app/assets/images/slack.svg | 18 + .../issue450/grails-app/assets/images/spinner.gif | Bin 0 -> 2037 bytes .../grails-app/assets/javascripts/application.js | 22 +- .../grails-app/assets/stylesheets/application.css | 27 +- .../grails-app/assets/stylesheets/errors.css | 128 ++ .../grails-app/assets/stylesheets/grails.css | 1097 +++++++++ .../grails-app/assets/stylesheets/main.css | 613 +++++ .../grails-app/assets/stylesheets/mobile.css | 101 + .../issue450/grails-app/conf/application.yml | 102 + .../issue450/grails-app/conf/logback.xml | 37 + .../multitenantcomposite/BookController.groovy | 28 +- .../multitenantcomposite/UrlMappings.groovy | 19 +- .../domain/multitenantcomposite/Book.groovy | 15 +- .../init/multitenantcomposite/Application.groovy | 14 +- .../init/multitenantcomposite/BootStrap.groovy | 25 +- .../multitenantcomposite/BookService.groovy | 16 +- .../issue450/grails-app/views/book/books.gsp | 30 + .../issue450/grails-app/views/book/index.gsp | 31 + .../hibernate6/issue450/grails-app/views/error.gsp | 49 + .../hibernate6/issue450/grails-app/views/index.gsp | 95 + .../issue450/grails-app/views/layouts/main.gsp | 88 + .../issue450/grails-app/views/notFound.gsp | 32 + .../groovy/example/BookControllerSpec.groovy | 47 +- .../hibernate6/spring-boot-hibernate/build.gradle | 51 + .../src/main/groovy/example/Application.groovy | 27 +- .../src/main/groovy/example/Book.groovy | 11 +- .../src/main/groovy/example/BookController.groovy | 42 +- .../src/main/groovy/example/BookService.groovy | 13 +- .../src/main/resources/application.yml | 17 + .../src/test/groovy/example/BookSpec.groovy | 33 +- .../hibernate6/standalone-hibernate/build.gradle | 59 +- .../grails/hibernate/example/ExampleSpec.groovy | 50 +- .../src/test/resources/simplelogger.properties | 5 +- grails-test-suite-uber/build.gradle | 3 + settings.gradle | 51 + 1253 files changed, 70700 insertions(+), 4445 deletions(-)
