Agent skill

Grails Hibernate 7 Developer

by apache in apache/grails-core

Guides changes to the grails-data-hibernate7 module, covering domain binding, Hibernate 5 to 7 migration work, generators and integration specs.

Apache-2.0Auto-check passedDatabases

Install Grails Hibernate 7 Developer

skills CLI
$ npx skills add apache/grails-core --skill hibernate-developer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install apache/grails-core hibernate-developer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/apache/grails-core.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/hibernate-developer .claude/skills/hibernate-developer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
hibernate-developer
GitHub stars
2.9k
Token cost
~1.8k tokens
SKILL.md length
746 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
Apache-2.0

At a glance

Guides changes to the grails-data-hibernate7 module, covering domain binding, Hibernate 5 to 7 migration work, generators and integration specs.

  • Works in 5 steps: Identify which binder, creator,… → Trace whether the change affects only… → Preserve the existing separation between… → …
  • Changing code or tests under grails-data-hibernate7
  • SKILL.md covers What I Do, When to Use Me, Module Context and Key Classes and Responsibilities, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

This skill gives repository-specific guidance for working inside the grails-data-hibernate7 module of the Grails framework, the Hibernate 7 integration, as opposed to building a Grails application. It orients the agent around GrailsDomainBinder, the main entry point for binding Grails domain classes to Hibernate metadata, and the packages changes tend to ripple through: org.grails.orm.hibernate.cfg and its domainbinding, collectionType, secondpass and generator subpackages.

It lists the main classes and what each does: GrailsPropertyBinder turns persistent properties into Hibernate Value instances, PropertyFromValueCreator builds Property instances, IdentityBinder with SimpleIdBinder and CompositeIdBinder handles identifiers, VersionBinder covers optimistic-locking versions, NaturalIdentifierBinder binds naturalId, and OneToOneBinder, ManyToOneBinder and CollectionBinder cover associations and collections. It also covers migration work inside the module, such as porting domain-binding behavior from Hibernate 5 to 7 and fixing regressions, within the testing constraints of the Hibernate 7 modules. End-user migration guides belong in grails-doc.

When your agent uses it

  • Changing code or tests under grails-data-hibernate7
  • Working on identifier, version, collection or association binding
  • Porting domain-binding behavior from Hibernate 5 to Hibernate 7
  • Fixing Hibernate 7 regressions in the module's specs

Example prompts

  • “Fix the composite identifier binding regression in grails-data-hibernate7.”
  • “Port the version binding logic from the Hibernate 5 module to Hibernate 7 and update the specs.”
  • “Explain how GrailsDomainBinder hands off to the collection binders before I change them.”

Requirements

  • A checkout of the grails-core repository

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Identify which binder, creator, generator, fetcher, or second-pass class owns the behavior.
  2. Trace whether the change affects only Value creation, Property creation, or both.
  3. Preserve the existing separation between logical mapping decisions and Hibernate object construction.
  4. Update or add specs in grails-data-hibernate7 that exercise the affected behavior through the public Hibernate-backed path.
  5. Run the relevant Hibernate 7 module tests, and expand test coverage when binder flow or entity registration behavior changes.

What it can do on your machine

Read from SKILL.md and the folder at commit 3d6db18. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Grails Hibernate 7 Developer loads about 1.8k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 746 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from apache/grails-core at commit 3d6db18, republished under its Apache-2.0 licence (© apache). 746 words, ~1,768 tokens.

Download SKILL.mdSave it as .claude/skills/hibernate-developer/SKILL.md (or your agent's skills folder).
name
hibernate-developer
description
Guide for working in the grails-data-hibernate7 module, especially Hibernate 7 domain binding, mapping migration, generators, and integration tests. Use this when changing code or tests under grails-data-hibernate7.
license
Apache-2.0
<!--
SPDX-License-Identifier: Apache-2.0

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements; and to You under the Apache License, Version 2.0. 
-->

What I Do

  • Provide repository-specific guidance for the grails-data-hibernate7 project.
  • Guide changes around GrailsDomainBinder, GrailsPropertyBinder, IdentityBinder, VersionBinder, collection binders, and related utilities.
  • 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

Activate this skill when working on the Hibernate 7 module, especially for:

  • Changes under grails-data-hibernate7/**.
  • Hibernate 7 mapping and metadata binding work.
  • Identifier, version, collection, association, or generator binding changes.
  • Hibernate 7 regression fixes and migration follow-up tasks.
  • Specs that exercise Hibernate-backed mapping behavior rather than lightweight unit behavior.

Module Context

This skill is for the Grails framework's Hibernate 7 integration module, not for a Grails application. Prefer guidance from this skill over generic Grails app patterns when working in grails-data-hibernate7.

GrailsDomainBinder is the main entry point for binding Grails domain classes to Hibernate metadata. Changes often ripple through:

  • org.grails.orm.hibernate.cfg
  • org.grails.orm.hibernate.cfg.domainbinding
  • org.grails.orm.hibernate.cfg.domainbinding.collectionType
  • org.grails.orm.hibernate.cfg.domainbinding.secondpass
  • org.grails.orm.hibernate.cfg.domainbinding.generator

Key Classes and Responsibilities

Main Binding Flow
  • GrailsDomainBinder: central coordinator for Hibernate 7 mapping contribution.
  • GrailsPropertyBinder: main coordinator for converting persistent properties into Hibernate Value instances.
  • PropertyFromValueCreator: shared utility for creating Hibernate Property instances from a bound Value.
Identifier and Version Binding
  • IdentityBinder: coordinates identifier binding.
  • SimpleIdBinder: handles simple identifiers.
  • CompositeIdBinder: handles composite identifiers.
  • VersionBinder: binds optimistic locking version properties.
  • NaturalIdentifierBinder: binds naturalId properties.
Associations and Collections
  • OneToOneBinder, ManyToOneBinder, ManyToOneValuesBinder: association binding.
  • CollectionBinder: collection mapping.
  • CollectionSecondPassBinder, ListSecondPassBinder, MapSecondPassBinder: second-pass association and collection binding.
  • CollectionHolder plus the collection type classes: carry collection metadata through binding.
Value and Column Binding
  • SimpleValueBinder: binds simple properties.
  • SimpleValueColumnBinder: binds columns to simple values.
  • ComponentBinder, ComponentPropertyBinder: embedded/component binding.
  • EnumTypeBinder: enum mapping.
Generators
  • BasicValueCreator: creates identifier values and generators.
  • GrailsSequenceWrapper, GrailsSequenceGeneratorEnum: generator integration helpers.
  • GrailsIdentityGenerator, GrailsIncrementGenerator, GrailsNativeGenerator, GrailsSequenceStyleGenerator, GrailsTableGenerator: Grails-specific Hibernate 7 generator implementations.

Current Module Guidance

Keep these module-specific expectations in mind:

  • GrailsPropertyBinder has already been simplified to a unified binder-dispatch structure. Preserve that consolidation instead of reintroducing scattered property creation or ad hoc branching.
  • Property creation and addition should stay centralized through callers using PropertyFromValueCreator where applicable.
  • Utility classes in domainbinding.util should prefer Hibernate-aware GORM types internally, but public signatures may still need base interfaces when Spock mocks require them.
  • GrailsIncrementGenerator still contains reflection-based Hibernate 7 compatibility workarounds; avoid broad refactors unless the change explicitly addresses that area.
Show full SKILL.md (344 more words)Show less

Testing Rules

When touching grails-data-hibernate7, test through real Hibernate wiring rather than assuming mocks are enough.

  • 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. 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

  1. Identify which binder, creator, generator, fetcher, or second-pass class owns the behavior.
  2. Trace whether the change affects only Value creation, Property creation, or both.
  3. Preserve the existing separation between logical mapping decisions and Hibernate object construction.
  4. Update or add specs in grails-data-hibernate7 that exercise the affected behavior through the public Hibernate-backed path.
  5. Run the relevant Hibernate 7 module tests, and expand test coverage when binder flow or entity registration behavior changes.

Pitfalls to Avoid

  • Do not treat this module like a simple Grails application layer; it is framework and mapping infrastructure code.
  • Do not reintroduce duplicated property-creation logic if a shared binder or creator already owns it.
  • Do not rely on unit-only mocking for Hibernate internals when the behavior depends on real metadata binding.
  • Do not use nested or inner entity classes in Hibernate 7 specs when top-level classes are required for AST transforms and reliable registration.

Known Status and Constraints

  • 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

This skill is the repository guidance for Hibernate 7 module work. When module conventions change, update this skill directly so agents load the current rules from .agents/skills/hibernate-developer/SKILL.md.

© apache, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/hibernate-developer of apache/grails-core.

Open the folder on GitHubat commit 3d6db18

Compare with similar skills

Grails Hibernate 7 Developer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Grails Hibernate 7 Developer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Grails Hibernate 7 Developer this skillapache/grails-core2.9k—~1.8kAutomated safety check: PassApache-2.0
Database Testingpetrkindlmann/qa-skills163—~4.2kAutomated safety check: PassMIT
Telnyx Twilio Migrationteam-telnyx/ai220—~11kAutomated safety check: NotesMIT
Jpa Patternsdecebals/claude-code-java7501 repos~4kAutomated safety check: PassMIT
Releaserogerpadilla/uql125—~842Automated safety check: PassMIT
Backend Testingbiersoeckli/QuickStack361—~670Automated safety check: PassGPL-3.0

Similar skills

  • Database Testing

    petrkindlmann/qa-skills

    Validate database integrity, test migrations forward and backward, verify schema constraints, manage seed data, detect migration drift, and identify query performance issues.

    163 GitHub stars~4.2k tokensUpdated 3 mo ago
    DatabasesAuto-check passed
  • Migrate from Twilio to Telnyx. An agent skill from team-telnyx/ai.

    220 GitHub stars~11k tokensUpdated 2 days ago
    DevelopmentAuto-check: notes
  • Jpa Patterns

    decebals/claude-code-java

    JPA/Hibernate patterns and common pitfalls (N+1, lazy loading, transactions, queries).

    750 GitHub starsUsed in 1 repo~4k tokens
    DatabasesAuto-check passed
  • Release

    rogerpadilla/uql

    Cut and publish a uql release - review the change, changelog entry, commit, version bump and tag, GitHub Release, npm publish, docs site.

    125 GitHub stars~842 tokensUpdated today
    DatabasesAuto-check passed
  • Backend Testing

    biersoeckli/QuickStack

    Create and review QuickStack backend unit and integration tests using the project's Vitest, Prisma, SQLite, and k3s conventions.

    361 GitHub stars~670 tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Type Optimizer

    romeerez/orchid-orm

    A skill your agent uses when need to optimize TypeScript types.

    543 GitHub stars~798 tokensUpdated today
    DatabasesAuto-check passed

More from apache/grails-core

All 9 skills in this repo
  • Grails Developer Guide

    apache/grails-core

    Guides building Grails web applications and REST APIs with GORM, controllers, services, views, plugins and Spock and Geb testing.

    2.9k GitHub stars~4.9k tokensUpdated today
    Auto-check passed
  • Groovy 5 Developer Guide

    apache/grails-core

    Guidance for Groovy 5 work in Grails projects: syntax, closures, traits, DSLs, metaprogramming, Spock tests, static compilation and Java 21 integration.

    2.9k GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Guide for writing modern Java 21 in a Grails and Groovy codebase: records, sealed classes, pattern matching, text blocks and how Java works alongside Groovy.

    2.9k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Grails Test Fixer

    apache/grails-core

    Guides running, reviewing and fixing test failures across grails-core modules with Gradle, including targeted runs and the aggregate HTML and Markdown reports.

    2.9k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Grails Violation Fixer

    apache/grails-core

    Guide to running, reading and fixing code style and analysis violations in grails-core with CodeNarc, Checkstyle, PMD, SpotBugs, Spotless and JaCoCo through Gradle.

    2.9k GitHub stars~3.9k tokensUpdated today
    Auto-check passed
  • Grails Gradle Developer

    apache/grails-core

    Guides Gradle 9 build changes in apache/grails-core on the 8.0.x line, favoring the repo's convention plugins, BOM platforms and patterns over generic Gradle advice.

    2.9k GitHub stars~11k tokensUpdated today
    Auto-check passed

Questions about Grails Hibernate 7 Developer

What does Grails Hibernate 7 Developer do?

Guides changes to the grails-data-hibernate7 module, covering domain binding, Hibernate 5 to 7 migration work, generators and integration specs. This skill gives repository-specific guidance for working inside the grails-data-hibernate7 module of the Grails framework, the Hibernate 7 integration, as opposed to building a Grails application.cfg and its domainbinding, collectionType, secondpass and generator subpackages.

When should I use Grails Hibernate 7 Developer?

Grails Hibernate 7 Developer fits situations like: changing code or tests under grails-data-hibernate7; working on identifier, version, collection or association binding; porting domain-binding behavior from Hibernate 5 to Hibernate 7; fixing Hibernate 7 regressions in the module's specs.

How do I install Grails Hibernate 7 Developer in Claude Code?

Run `npx skills add apache/grails-core --skill hibernate-developer -a claude-code`. Or copy the skill folder (.agents/skills/hibernate-developer in apache/grails-core) into .claude/skills/hibernate-developer in your project. Claude Code loads it when a task matches its description.

How do I install Grails Hibernate 7 Developer in Codex?

Run `npx skills add apache/grails-core --skill hibernate-developer -a codex`. Or copy the skill folder (.agents/skills/hibernate-developer in apache/grails-core) into .agents/skills/hibernate-developer in your project. Codex loads it when a task matches its description.

Can I use Grails Hibernate 7 Developer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add apache/grails-core --skill hibernate-developer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hibernate-developer, .gemini/skills/hibernate-developer, .github/skills/hibernate-developer and .opencode/skills/hibernate-developer in your project.

What does Grails Hibernate 7 Developer need to run?

SKILL.md names no scripts, command-line tools or credentials: Grails Hibernate 7 Developer is instructions for the agent only. Our summary lists: A checkout of the grails-core repository.

Does Grails Hibernate 7 Developer access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Grails Hibernate 7 Developer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Grails Hibernate 7 Developer use?

Grails Hibernate 7 Developer is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Grails Hibernate 7 Developer use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Grails Hibernate 7 Developer?

Skills that share tags, products or a category with Grails Hibernate 7 Developer: Database Testing (petrkindlmann/qa-skills, 163 stars), Telnyx Twilio Migration (team-telnyx/ai, 220 stars), Jpa Patterns (decebals/claude-code-java, 750 stars) and Release (rogerpadilla/uql, 125 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Grails Hibernate 7 Developer?

apache (a GitHub organization) maintains it in apache/grails-core, which has 2,934 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 7, 2026.

Source: apache/grails-core on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.