Agent skill

Jpa Patterns

by affaan-m in affaan-m/ECC

Spring Boot中的JPA/Hibernate模式,用于实体设计、关系处理、查询优化、事务管理、审计、索引、分页和连接池。

MITAuto-check passedBackend & APIs

Install Jpa Patterns

skills CLI
$ npx skills add affaan-m/ECC --skill jpa-patterns -a claude-code

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

GitHub CLI
$ gh skill install affaan-m/ECC jpa-patterns --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/affaan-m/ECC.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/zh-CN/skills/jpa-patterns .claude/skills/jpa-patterns && 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
jpa-patterns
GitHub stars
276k
Used in
3 other repos
Token cost
~847 tokens
SKILL.md length
101 words
Files
1
Skills in repo
683
Repo updated
First seen
Licence
MIT

At a glance

Spring Boot中的JPA/Hibernate模式,用于实体设计、关系处理、查询优化、事务管理、审计、索引、分页和连接池。

  • Tasks that involve ORMs and data access
  • SKILL.md covers 何时激活, 实体设计, 关联关系和 N+1 预防 and 存储库模式, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Tasks that involve Backend development

What it does

Jpa Patterns is an agent skill from affaan-m/ECC. Spring Boot中的JPA/Hibernate模式,用于实体设计、关系处理、查询优化、事务管理、审计、索引、分页和连接池。

Its SKILL.md is about 850 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering ORMs and data access and Backend development. It works with Spring Boot. The repository describes itself as: The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond. The licence is MIT.

When your agent uses it

  • Tasks that involve ORMs and data access
  • Tasks that involve Backend development

Example prompts

  • “/jpa-patterns”

What it can do on your machine

Read from SKILL.md and the folder at commit 4eb71d9. 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 (its code samples are java).

    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

Jpa Patterns loads about 847 tokens when it runs. Until then it costs about 19 tokens; SKILL.md has 101 words of instructions outside code blocks.

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

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 affaan-m/ECC at commit 4eb71d9, republished under its MIT licence (© affaan-m). 101 words, ~847 tokens.

Download SKILL.mdSave it as .claude/skills/jpa-patterns/SKILL.md (or your agent's skills folder).
name
jpa-patterns
description
Spring Boot中的JPA/Hibernate模式,用于实体设计、关系处理、查询优化、事务管理、审计、索引、分页和连接池。
origin
ECC

JPA/Hibernate 模式

用于 Spring Boot 中的数据建模、存储库和性能调优。

何时激活

  • 设计 JPA 实体和表映射时
  • 定义关系时 (@OneToMany, @ManyToOne, @ManyToMany)
  • 优化查询时 (N+1 问题预防、获取策略、投影)
  • 配置事务、审计或软删除时
  • 设置分页、排序或自定义存储库方法时
  • 调整连接池 (HikariCP) 或二级缓存时

实体设计

java
@Entity
@Table(name = "markets", indexes = {
  @Index(name = "idx_markets_slug", columnList = "slug", unique = true)
})
@EntityListeners(AuditingEntityListener.class)
public class MarketEntity {
  @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;

  @Column(nullable = false, length = 200)
  private String name;

  @Column(nullable = false, unique = true, length = 120)
  private String slug;

  @Enumerated(EnumType.STRING)
  private MarketStatus status = MarketStatus.ACTIVE;

  @CreatedDate private Instant createdAt;
  @LastModifiedDate private Instant updatedAt;
}

启用审计:

java
@Configuration
@EnableJpaAuditing
class JpaConfig {}

关联关系和 N+1 预防

java
@OneToMany(mappedBy = "market", cascade = CascadeType.ALL, orphanRemoval = true)
private List<PositionEntity> positions = new ArrayList<>();
  • 默认使用延迟加载;需要时在查询中使用 JOIN FETCH
  • 避免在集合上使用 EAGER;对于读取路径使用 DTO 投影
java
@Query("select m from MarketEntity m left join fetch m.positions where m.id = :id")
Optional<MarketEntity> findWithPositions(@Param("id") Long id);

存储库模式

java
public interface MarketRepository extends JpaRepository<MarketEntity, Long> {
  Optional<MarketEntity> findBySlug(String slug);

  @Query("select m from MarketEntity m where m.status = :status")
  Page<MarketEntity> findByStatus(@Param("status") MarketStatus status, Pageable pageable);
}
  • 使用投影进行轻量级查询:
java
public interface MarketSummary {
  Long getId();
  String getName();
  MarketStatus getStatus();
}
Page<MarketSummary> findAllBy(Pageable pageable);

事务

  • 使用 @Transactional 注解服务方法
  • 对读取路径使用 @Transactional(readOnly = true) 以进行优化
  • 谨慎选择传播行为;避免长时间运行的事务
java
@Transactional
public Market updateStatus(Long id, MarketStatus status) {
  MarketEntity entity = repo.findById(id)
      .orElseThrow(() -> new EntityNotFoundException("Market"));
  entity.setStatus(status);
  return Market.from(entity);
}

分页

java
PageRequest page = PageRequest.of(pageNumber, pageSize, Sort.by("createdAt").descending());
Page<MarketEntity> markets = repo.findByStatus(MarketStatus.ACTIVE, page);

对于类似游标的分页,在 JPQL 中包含 id > :lastId 并配合排序。

索引和性能

  • 为常用过滤器添加索引(status、slug、外键)
  • 使用与查询模式匹配的复合索引(status, created_at)
  • 避免 select *;仅投影需要的列
  • 使用 saveAll 和 hibernate.jdbc.batch_size 进行批量写入

连接池 (HikariCP)

推荐属性:

spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.validation-timeout=5000

对于 PostgreSQL LOB 处理,添加:

spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

缓存

  • 一级缓存是每个 EntityManager 的;避免在事务之间保持实体
  • 对于读取频繁的实体,谨慎考虑二级缓存;验证驱逐策略

迁移

  • 使用 Flyway 或 Liquibase;切勿在生产中依赖 Hibernate 自动 DDL
  • 保持迁移的幂等性和可添加性;避免无计划地删除列

测试数据访问

  • 首选使用 Testcontainers 的 @DataJpaTest 来镜像生产环境
  • 使用日志断言 SQL 效率:设置 logging.level.org.hibernate.SQL=DEBUG 和 logging.level.org.hibernate.orm.jdbc.bind=TRACE 以查看参数值

请记住:保持实体精简,查询有针对性,事务简短。通过获取策略和投影来预防 N+1 问题,并根据读写路径建立索引。

© affaan-m, MIT. 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 docs/zh-CN/skills/jpa-patterns of affaan-m/ECC.

Open the folder on GitHubat commit 4eb71d9

Used in 3 other repositories

We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 3 other GitHub owners. This page covers the copy in affaan-m/ECC, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Jpa Patterns 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.

Jpa Patterns compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jpa Patterns this skillaffaan-m/ECC276k3 repos~847Automated safety check: PassMIT
Java Patternssoftspark/ai-toolkit179—~3.4kAutomated safety check: PassApache-2.0
Jpa Patternsxu-xiang/everything-claude-code-zh2k—~908Automated safety check: PassMIT
Grails Developer Guideapache/grails-core2.9k—~4.9kAutomated safety check: PassApache-2.0
Java ArchitectJeffallan/claude-skills12k—~1.5kAutomated safety check: PassMIT
Spring Boot EngineerJeffallan/claude-skills12k—~1.9kAutomated safety check: PassMIT

Similar skills

  • Java Patterns

    softspark/ai-toolkit

    Java: Spring Boot, CompletableFuture, records, sealed types, JPA/Hibernate, virtual threads.

    179 GitHub stars~3.4k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Jpa Patterns

    xu-xiang/everything-claude-code-zh

    JPA/Hibernate 模式,涵盖 Spring Boot 中的实体设计、关系、查询优化、事务、审计、索引、分页和连接池。

    2k GitHub stars~908 tokensUpdated 7 mo ago
    Backend & APIsAuto-check passed
  • 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
    Backend & APIsAuto-check passed
  • Java Architect

    Jeffallan/claude-skills

    Builds Spring Boot 3.x services on Java 21 with domain-driven design, WebFlux, JPA tuning and Spring Security using OAuth2 and JWT, verified by Maven or Gradle builds.

    12k GitHub stars~1.5k tokensUpdated 7 days ago
    Backend & APIsAuto-check passed
  • Spring Boot Engineer

    Jeffallan/claude-skills

    Builds Spring Boot 3.x services with REST controllers, Spring Data JPA, Spring Security 6, WebFlux and Spring Cloud, verified by tests and Actuator health checks.

    12k GitHub stars~1.9k tokensUpdated 7 days ago
    Backend & APIsAuto-check passed
  • Multi Tenancy

    rrezartprebreza/spring-boot-skills

    A skill your agent uses when implementing tenant resolution, database or schema isolation, Hibernate 7 tenancy, reactive tenant context, migrations, caches, jobs, or authorization in Spring Boot 4.

    301 GitHub stars~632 tokensUpdated 19 days ago
    Backend & APIsAuto-check passed

More from affaan-m/ECC

All 683 skills in this repo
  • Skill Stocktake

    affaan-m/ECC

    Audits your installed Claude skills and commands for quality, with a quick mode for recently changed skills and a full mode that evaluates all of them through subagents.

    276k GitHub starsUsed in 5 repos~3.1k tokens
    Auto-check passed
  • Ingests, indexes, searches, edits and monitors video, audio and live streams through the VideoDB Python SDK, returning stream links, clips and timestamps.

    276k GitHub starsUsed in 3 repos~3.5k tokens
    Auto-check: notes
  • Docs Governance

    affaan-m/ECC

    Route broad documentation-governance requests to existing ECC skills and run an opt-in, read-only audit of mapped documentation roles, links, ADR indexes, and evidence references.

    276k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Rules Distillation

    affaan-m/ECC

    Scans installed skills for principles that recur across them and proposes rule-file changes: append, revise, add a section, create a file or leave as covered.

    276k GitHub starsUsed in 2 repos~2.3k tokens
    Auto-check passed
  • Builds DRAFT counterparty agreements from one markdown template and a small JSON spec per party, with clauses picked by the party's role.

    276k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Measures whether agents actually follow a skill, rule or agent definition by generating scenarios at three strictness levels and scoring tool-call traces.

    276k GitHub starsUsed in 1 repo~623 tokens
    Auto-check passed

Works with

Questions about Jpa Patterns

What does Jpa Patterns do?

Spring Boot中的JPA/Hibernate模式,用于实体设计、关系处理、查询优化、事务管理、审计、索引、分页和连接池。. Jpa Patterns is an agent skill from affaan-m/ECC.

When should I use Jpa Patterns?

Jpa Patterns fits situations like: tasks that involve ORMs and data access; tasks that involve Backend development.

How do I install Jpa Patterns in Claude Code?

Run `npx skills add affaan-m/ECC --skill jpa-patterns -a claude-code`. Or copy the skill folder (docs/zh-CN/skills/jpa-patterns in affaan-m/ECC) into .claude/skills/jpa-patterns in your project. Claude Code loads it when a task matches its description.

How do I install Jpa Patterns in Codex?

Run `npx skills add affaan-m/ECC --skill jpa-patterns -a codex`. Or copy the skill folder (docs/zh-CN/skills/jpa-patterns in affaan-m/ECC) into .agents/skills/jpa-patterns in your project. Codex loads it when a task matches its description.

Can I use Jpa Patterns 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 affaan-m/ECC --skill jpa-patterns -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jpa-patterns, .gemini/skills/jpa-patterns, .github/skills/jpa-patterns and .opencode/skills/jpa-patterns in your project.

What does Jpa Patterns need to run?

SKILL.md names no scripts, command-line tools or credentials: Jpa Patterns is instructions for the agent only.

Does Jpa Patterns 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 Jpa Patterns 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 Jpa Patterns use?

Jpa Patterns is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jpa Patterns use?

About 847 tokens (SKILL.md is roughly 3.4k 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 Jpa Patterns?

Skills that share tags, products or a category with Jpa Patterns: Java Patterns (softspark/ai-toolkit, 179 stars), Jpa Patterns (xu-xiang/everything-claude-code-zh, 2k stars), Grails Developer Guide (apache/grails-core, 2.9k stars) and Java Architect (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jpa Patterns?

affaan-m (a GitHub user) maintains it in affaan-m/ECC, which has 276,111 GitHub stars. The repository holds 683 skills in this directory. The repository was last updated on October 10, 2026.

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