This is an automated email from the ASF dual-hosted git repository. borinquenkid pushed a commit to branch 8.0.x-hibernate7 in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 998ea6d467e0535ee91b6b36b785a3770e2edebd Author: Walter Duque de Estrada <[email protected]> AuthorDate: Thu Jun 18 15:35:59 2026 -0500 docs: update hibernate-developer SKILL.md — clarify migration scope, parallel-fork note, known status - Scope: distinguish framework-internal migration work (in scope) from user-facing app migration docs (out of scope, belongs in grails-doc) - Parallel execution: explain why globally unique entity names matter — HibernateDatastore caches by simple name, maxParallelForks > 1 means two specs with same-named entities in the same fork corrupt each other - Known Status: mark binder migration as complete; remove stale bullets Co-Authored-By: Claude Sonnet 4.6 <[email protected]> --- .agents/skills/hibernate-developer/SKILL.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.agents/skills/hibernate-developer/SKILL.md b/.agents/skills/hibernate-developer/SKILL.md index 052ff2f06c..ae3197ba97 100644 --- a/.agents/skills/hibernate-developer/SKILL.md +++ b/.agents/skills/hibernate-developer/SKILL.md @@ -12,9 +12,9 @@ Licensed to the Apache Software Foundation (ASF) under one or more contributor l ## What I Do - Provide repository-specific guidance for the `grails-data-hibernate7` project. -- Help with Hibernate 7 migration work in domain binding, mapping metadata, identifiers, generators, collections, and second-pass binding. - Guide changes around `GrailsDomainBinder`, `GrailsPropertyBinder`, `IdentityBinder`, `VersionBinder`, collection binders, and related utilities. -- Keep changes aligned with the testing constraints and migration status used by the Hibernate 7 modules in this repository. +- Keep changes aligned with the testing constraints used by the Hibernate 7 modules in this repository. +- Help with migration work inside this framework module (e.g., porting domain-binding behaviour from H5 to H7, updating binder internals, fixing H7 regressions). Does not cover user-facing application migration guides; those belong in `grails-doc`. ## When to Use Me @@ -90,7 +90,7 @@ When touching `grails-data-hibernate7`, test through real Hibernate wiring rathe - Use `HibernateGormDatastoreSpec` for Hibernate 7 integration and domain-binding specifications. - Prefer `manager.registerDomainClasses(...)` in `setupSpec()` to register entities for specs. - Define test entities as top-level classes in the same Groovy spec file. -- Ensure test domain class names are globally unique within the package to avoid shared mapping metadata collisions when specs run in parallel. +- Ensure test domain class names are globally unique within the package. The test suite uses `maxParallelForks > 1`, so multiple specs can run concurrently in the same JVM fork. `HibernateDatastore` caches mapping metadata by entity class name, so two specs registering a domain class with the same simple name in the same package can overwrite each other's mappings and cause flaky failures. - Prefer real entities over heavy mocking for binder logic. ## Change Workflow @@ -110,9 +110,8 @@ When touching `grails-data-hibernate7`, test through real Hibernate wiring rathe ## Known Status and Constraints -- The Hibernate 7 binder migration is largely in migrated state across the main binders, collection types, second-pass binders, generators, and utilities. -- Unidirectional many-to-many support in `CollectionSecondPassBinder` is implemented. -- `GrailsIncrementGenerator` reflection hacks remain a known temporary compromise until a later Hibernate upgrade removes the need. +- The Hibernate 7 binder migration is complete: all main binders, collection types, second-pass binders, generators, and utilities have been migrated. +- `GrailsIncrementGenerator` retains reflection-based workarounds for accessing Hibernate 7 internals; avoid broad refactors in that class unless explicitly targeting that area. ## Source of Truth
