jahia-java-persistence

Implement SQL and JCR persistence patterns with explicit locking and single-timestamp rules.

Updated Mar 10, 2026
One-click install
npx skills add https://github.com/Jahia/formidable --skill jahia-java-persistence
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jahia-java-persistence
Source: https://github.com/Jahia/formidable/tree/main/.agents/skills/jahia-java-persistence
Command: npx skills add https://github.com/Jahia/formidable --skill jahia-java-persistence

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Persistence patterns for Jahia's backend when combining SQL (JPA/Hibernate) with JCR can be error-prone, leading to data inconsistency, performance issues, and fragile architectures.

Core Features & Use Cases

  • Guidance on ordering, N+1 query avoidance, timestamp consistency, and transactional asymmetry between SQL and JCR.
  • Practical rules for entity modeling, locking, and schema documentation to support maintainable backend modules.

Quick Start

Apply the single-timestamp rule at operation start and enforce explicit locking contracts when implementing Jahia SQL+JCR persistence.

Frequently Asked Questions about jahia-java-persistence

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle JPA and JCR transactional asymmetry in Jahia to prevent data inconsistency?

Handling JPA and JCR transactional asymmetry in Jahia requires enforcing explicit locking contracts and applying a single-timestamp rule at operation start to ensure deterministic cross-store writes and maintain data integrity.

What causes N+1 query issues when combining Hibernate and JCR in Jahia backend modules?

N+1 query issues in Jahia SQL and JCR integrations stem from unoptimized entity loading patterns, which you can resolve by following guided ordering rules and proper entity modeling to avoid performance bottlenecks.

How do I ensure deterministic writes and stable audit trails in Jahia SQL+JCR persistence?

Deterministic writes and stable audit trails in Jahia persistence are achieved by applying a single-timestamp rule at operation start and enforcing explicit locking contracts across SQL and JCR content nodes.

When should I use explicit locking contracts for Jahia content node persistence?

Explicit locking contracts for Jahia content node persistence should be used whenever integrating JPA and Hibernate with JCR backend modules to prevent transactional conflicts and avoid data drift or inconsistency.

Does Jahia support combining SQL and JCR backends in the same persistence layer?

Jahia supports combining SQL and JCR backends, but cross-store transaction handling requires strict design decisions like single-timestamp usage and proper schema documentation to avoid fragile architectures and data inconsistency.

What are the limitations of mixing JPA Hibernate with JCR in Jahia persistence?

Mixing JPA Hibernate with JCR in Jahia introduces risks of transactional asymmetry and schema drift, making it necessary to enforce explicit locking contracts and proper schema documentation to maintain stable backend modules.