About 412-frameworks-quarkus-panache
A Quarkus skill for applying Hibernate ORM with Panache patterns to persistence code. It guides entity and repository design, safe queries, projections, pagination, and transaction handling, with compilation required before changes and verification afterward.
Key features
- 01Active record and repository patterns
- 02Parameterized JPQL and Panache queries
- 03DTO projections and pagination
- 04JOIN FETCH to avoid N+1 queries
- 05Optimistic locking with @Version
- 06Compile-first change and verification workflow
Use cases
- 01Review Panache entities and repositories
- 02Improve query safety and reuse
- 03Add projections or paginated queries
- 04Address N+1 issues or optimistic locking
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ jabrena/ plinth --skill 412-frameworks-quarkus-panacheAfter installing, type/412-frameworks-quarkus-panachein Claude Code to confirm it loaded.
Bundled filesreferences/412-frameworks-quarkus-panache.md
Details
From the project READMEHibernate ORM with Panache
Apply Panache patterns for Hibernate ORM in Quarkus.
What is covered in this Skill?
- Active record (PanacheEntity) vs PanacheRepository — when to use each
- Parameterized JPQL / Panache queries: positional (?1) and named (:param) — no unsafe concatenation
- @NamedQuery on entities for reusable, build-time validated queries
- DTO projections with project(Class) to avoid exposing managed entities
- Pagination with Page.of(pageIndex, pageSize) and query.count()
- N+1 avoidance with JOIN FETCH in JPQL queries
- Optimistic locking with @Version and handling OptimisticLockException
- @Transactional application services
- @TestTransaction for automatic rollback in @QuarkusTest tests
- Mapping entities vs exposing DTOs at REST boundaries
- Native queries via Hibernate when you want controlled SQL in the same transaction; pairing with
@411for JDBC when bypassing Hibernate at the boundary
Scope: Apply recommendations based on the reference rules and good/bad code examples.
Constraints
Compile before persistence changes; verify after.
- MANDATORY: Run
./mvnw compileormvn compilebefore applying any change - PREREQUISITE: Project must compile before applying Panache improvements
- SAFETY: If compilation fails, stop immediately
- BLOCKING CONDITION: Compilation errors must be resolved by the user before proceeding
- VERIFY: Run
./mvnw clean verifyormvn clean verifyafter applying improvements - BEFORE APPLYING: Read the reference for detailed rules and examples
When to use this skill
- Review Panache entities or repositories in Quarkus
- Improve Hibernate ORM data access with Panache
- Add DTO projections, JOIN FETCH, pagination, or optimistic locking to Panache queries
- Fix N+1 query problems or add @Version concurrency control in Quarkus Panache
- Improve Panache active record versus repository design
Workflow
- Read reference and assess project context
Read references/412-frameworks-quarkus-panache.md and inspect the current project setup before proposing changes.
- Gather scope and decide target improvements
Identify requested outcomes, constraints, and the minimum safe set of changes to apply.
- Apply framework-aligned changes
Implement or refactor configuration/code following the reference patterns and project conventions.
- Run verification and report results
Execute appropriate build/tests and summarize what changed, what was verified, and any follow-up actions.
Reference
For detailed guidance, examples, and constraints, see references/412-frameworks-quarkus-panache.md.