borinquenkid opened a new pull request, #16790:
URL: https://github.com/apache/grails-core/pull/16790
This update extends `.agents/skills/hibernate-developer/SKILL.md` to
document the architectural invariants and verification protocols across the
Hibernate 7 integration:
1. **Transaction & Session Lifecycle**:
- Strict rule against disconnecting active write-bearing transactions in
`beforeCompletion` to prevent silent loss of uncommitted dirty state.
- Prohibition against eager physical connection probes
(`con.getAutoCommit()` / `con.getMetaData()`) on non-lazy data sources when
sessions are idle to avoid pool starvation.
- Symmetric capture and restoration of `ConnectionHolder` and Spring
`TransactionSynchronization` instances.
- Proper coordination with `SESSION_SYNCHRONIZATION_ORDER`.
2. **Criteria, SQM AST, and Subquery Correlation**:
- Lexical alias scoping to ensure nested aliases materialize on their
declaring association rather than the query root.
- Sibling association block isolation to prevent join collapsing and
predicate leakage.
- Correlation across outer/inherited joins without dropping comparisons.
3. **Dialect Matrix & Engine Invariants**:
- Uniqueness and null semantics across single vs composite unique keys
(Oracle B-Tree index all-null omission, Db2 LUW `exclude null keys`, single
nullable property exemptions, and Neo4j relationship non-existence).
- Shared join table bulk deletion and clearing rules.
4. **Mandatory Invariant Verification Protocol**:
- Pre-implementation verification matrix (`Propagation` × `Dirty State` ×
`DataSource Type` × `Dialect Engine`) and adversarial audit checklist.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]