Agent skill

Jpa Patterns

by xu-xiang in xu-xiang/everything-claude-code-zh

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

MITAuto-check passedBackend & APIs

Install Jpa Patterns

skills CLI
$ npx skills add xu-xiang/everything-claude-code-zh --skill jpa-patterns -a claude-code

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

GitHub CLI
$ gh skill install xu-xiang/everything-claude-code-zh 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/xu-xiang/everything-claude-code-zh.git skills-src && mkdir -p .claude/skills && cp -r skills-src/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
2k
Token cost
~908 tokens
SKILL.md length
109 words
Files
1
Skills in repo
78
Repo updated
First seen
Licence
MIT

At a glance

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

  • Tasks that involve ORMs and data access
  • SKILL.md covers 何时激活, 实体设计, 关联关系与防止 N+1 问题 and Repository 模式, 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 xu-xiang/everything-claude-code-zh. JPA/Hibernate 模式,涵盖 Spring Boot 中的实体设计、关系、查询优化、事务、审计、索引、分页和连接池。

Its SKILL.md is about 910 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: everything-claude-code 中文翻译项目:完整的 Claude Code 配置集合(agents, skills, hooks, commands, rules, MCPs)。源自 Anthropic 黑客松获胜者的实战配置,助力中文工程师高效理解与使用 Claude Code。 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 dfbf946. 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 908 tokens when it runs. Until then it costs about 19 tokens; SKILL.md has 109 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
~908

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 xu-xiang/everything-claude-code-zh at commit dfbf946, republished under its MIT licence (© xu-xiang). 109 words, ~908 tokens.

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

JPA/Hibernate 模式

用于 Spring Boot 中的数据建模、仓库层(Repositories)实现和性能调优。

何时激活

  • 设计 JPA 实体(Entities)和表映射
  • 定义关联关系(@OneToMany、@ManyToOne、@ManyToMany)
  • 优化查询(防止 N+1 问题、抓取策略、投影)
  • 配置事务、审计(Auditing)或逻辑删除
  • 设置分页、排序或自定义 Repository 方法
  • 调优连接池(HikariCP)或二级缓存(Second-level Caching)

实体设计

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;
}

启用审计(Auditing):

java
@Configuration
@EnableJpaAuditing
class JpaConfig {}

关联关系与防止 N+1 问题

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

Repository 模式

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);
}
  • 对轻量级查询使用投影(Projections):
java
public interface MarketSummary {
  Long getId();
  String getName();
  MarketStatus getStatus();
}
Page<MarketSummary> findAllBy(Pageable pageable);

事务

  • 在 Service 方法上添加 @Transactional 注解
  • 在读取路径上使用 @Transactional(readOnly = true) 以进行优化
  • 谨慎选择传播行为(Propagation);避免长事务
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);

对于类游标分页(Cursor-like pagination),在 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

缓存

  • 一级缓存(1st-level cache)是基于 EntityManager 的;避免跨事务保留实体
  • 对于读多写少的实体,谨慎考虑二级缓存(Second-level cache);验证逐出策略(Eviction Strategy)

数据库迁移 (Migrations)

  • 使用 Flyway 或 Liquibase;生产环境绝不依赖 Hibernate 的自动 DDL(auto DDL)
  • 保持迁移脚本的幂等性和增量性;避免在没有计划的情况下删除列

测试数据访问

  • 优先使用 @DataJpaTest 配合 Testcontainers 以镜像生产环境
  • 通过日志断言 SQL 效率:设置 logging.level.org.hibernate.SQL=DEBUG 以及针对参数值的 logging.level.org.hibernate.orm.jdbc.bind=TRACE

记住:保持实体精简、查询意图明确、事务简短。通过抓取策略和投影防止 N+1 问题,并为读/写路径建立索引。

© xu-xiang, 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 skills/jpa-patterns of xu-xiang/everything-claude-code-zh.

Open the folder on GitHubat commit dfbf946

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 skillxu-xiang/everything-claude-code-zh2k—~908Automated safety check: PassMIT
Jpa Patternsaffaan-m/ECC276k3 repos~847Automated safety check: PassMIT
Java Patternssoftspark/ai-toolkit179—~3.4kAutomated safety check: PassApache-2.0
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

  • Jpa Patterns

    affaan-m/ECC

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

    276k GitHub starsUsed in 3 repos~847 tokens
    Backend & APIsAuto-check passed
  • 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
  • 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
  • Jpa Patterns

    affaan-m/ECC

    Spring Boot'ta entity tasarımı, ilişkiler, sorgu optimizasyonu, transaction'lar, auditing, indeksleme, sayfalama ve pooling için JPA/Hibernate kalıpları.

    276k GitHub starsUsed in 1 repo~1.2k tokens
    DatabasesAuto-check passed

More from xu-xiang/everything-claude-code-zh

All 78 skills in this repo
  • Configure Ecc

    xu-xiang/everything-claude-code-zh

    Everything Claude Code 的交互式安装程序 — 引导用户选择并安装技能和规则到用户级或项目级目录,验证路径,并可选择优化已安装文件。

    2k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Continuous Learning V2

    xu-xiang/everything-claude-code-zh

    基于本能(Instinct)的学习系统,通过钩子(hooks)观察会话,创建带有置信度评分的原子本能,并将其演化为技能(Skills)、命令(Commands)或智能体(Agents)。v2.1 版本增加了项目作用域(project-scoped)的本能,以防止跨项目污染。

    2k GitHub stars~2.1k tokensUpdated 7 mo ago
    Auto-check passed
  • API Design

    xu-xiang/everything-claude-code-zh

    生产级 API 的 REST API 设计模式,包括资源命名、状态码、分页、过滤、错误响应、版本控制和速率限制. An agent skill from xu-xiang/everything-claude-code-zh.

    2k GitHub stars~2.7k tokensUpdated 7 mo ago
    Auto-check passed
  • Backend Patterns

    xu-xiang/everything-claude-code-zh

    后端架构模式、API 设计、数据库优化以及适用于 Node.js、Express 和 Next.js API 路由的服务端最佳实践。

    2k GitHub stars~3.2k tokensUpdated 7 mo ago
    Auto-check passed
  • Backend Patterns

    xu-xiang/everything-claude-code-zh

    后端架构模式、API 设计、数据库优化以及 Node.js、Express 和 Next.js API 路由的服务端最佳实践。

    2k GitHub stars~3.1k tokensUpdated 7 mo ago
    Auto-check passed
  • Backend Patterns

    xu-xiang/everything-claude-code-zh

    后端架构模式、API 设计、数据库优化以及针对 Node.js、Express 和 Next.js API 路由的服务端最佳实践。

    2k GitHub stars~3.2k tokensUpdated 7 mo ago
    Auto-check passed

Works with

Questions about Jpa Patterns

What does Jpa Patterns do?

JPA/Hibernate 模式,涵盖 Spring Boot 中的实体设计、关系、查询优化、事务、审计、索引、分页和连接池。. Jpa Patterns is an agent skill from xu-xiang/everything-claude-code-zh.

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 xu-xiang/everything-claude-code-zh --skill jpa-patterns -a claude-code`. Or copy the skill folder (skills/jpa-patterns in xu-xiang/everything-claude-code-zh) 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 xu-xiang/everything-claude-code-zh --skill jpa-patterns -a codex`. Or copy the skill folder (skills/jpa-patterns in xu-xiang/everything-claude-code-zh) 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 xu-xiang/everything-claude-code-zh --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 908 tokens (SKILL.md is roughly 3.6k 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: Jpa Patterns (affaan-m/ECC, 276k stars), Java Patterns (softspark/ai-toolkit, 179 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?

xu-xiang (a GitHub user) maintains it in xu-xiang/everything-claude-code-zh, which has 1,978 GitHub stars. The repository holds 78 skills in this directory. The repository was last updated on March 5, 2026.

Source: xu-xiang/everything-claude-code-zh on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.