Agent skill

Jpa Patterns

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

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

MITAuto-check passedDatabases

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/docs/ja-JP/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
~896 tokens
SKILL.md length
106 words
Files
1
Skills in repo
78
Repo updated
First seen
Licence
MIT

At a glance

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

  • Tasks that involve ORMs and data access
  • SKILL.md covers 实体设计 (Entity Design), 关联关系与 N+1 问题预防, 存储库模式 (Repository Pattern) and 事务 (Transactions), plus 6 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. Spring Boot 中用于实体设计、关联关系、查询优化、事务、审计、索引、分页和连接池的 JPA/Hibernate 模式。

Its SKILL.md is about 900 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 Databases, 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 896 tokens when it runs. Until then it costs about 19 tokens; SKILL.md has 106 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
~896

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). 106 words, ~896 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 模式。

JPA/Hibernate 模式

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

实体设计 (Entity Design)

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 投影(Projection)。
java
@Query("select m from MarketEntity m left join fetch m.positions where m.id = :id")
Optional<MarketEntity> findWithPositions(@Param("id") Long id);

存储库模式 (Repository Pattern)

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

事务 (Transactions)

  • 在服务层(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);
}

分页 (Pagination)

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

对于类似游标(Cursor)的分页,请在 JPQL 排序中包含 id > :lastId。

索引创建与性能优化

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

连接池 (Connection Pooling - 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

缓存 (Caching)

  • 一级缓存(First-level Cache)是基于 EntityManager 的。不要在事务之间持有实体。
  • 对于读取密集型实体,请谨慎考虑二级缓存(Second-level Cache)。验证淘汰策略(Eviction Strategy)。

数据库迁移 (Migration)

  • 使用 Flyway 或 Liquibase。不要在生产环境中依赖 Hibernate 的自动 DDL。
  • 保持迁移脚本的幂等性(Idempotent)和增量性。不要在未规划的情况下删除列。

数据访问测试

  • 优先使用配合 Testcontainers 的 @DataJpaTest,以真实反映生产环境。
  • 通过日志断言 SQL 效率:将 logging.level.org.hibernate.SQL 设置为 DEBUG,将 logging.level.org.hibernate.orm.jdbc.bind 设置为 TRACE 以查看参数值。

注意:保持实体轻量化,确保查询意图明确,并缩短事务时长。通过抓取策略(Fetch Strategy)和投影(Projection)防止 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 docs/ja-JP/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—~896Automated safety check: PassMIT
Jpa Patternsaffaan-m/ECC276k1 repos~1.2kAutomated safety check: PassMIT
Jpa Patternsaffaan-m/ECC276k—~1.2kAutomated safety check: PassMIT
Hibernate Upgradebenchflow-ai/skillsbench1.8k—~1.9kAutomated safety check: PassApache-2.0
Jpa Patternsaffaan-m/ECC276k5 repos~1.2kAutomated safety check: PassMIT
Jpa Patternsaffaan-m/ECC276k3 repos~847Automated safety check: PassMIT

Similar skills

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

    affaan-m/ECC

    Patrones JPA/Hibernate para diseño de entidades, relaciones, optimización de consultas, transacciones, auditoría, indexación, paginación y pooling en Spring Boot.

    276k GitHub stars~1.2k tokensUpdated today
    DatabasesAuto-check passed
  • Hibernate Upgrade

    benchflow-ai/skillsbench

    Migrate Hibernate 5 to Hibernate 6 with Spring Boot 3. An agent skill from benchflow-ai/skillsbench.

    1.8k GitHub stars~1.9k tokensUpdated 2 mo ago
    DatabasesAuto-check passed
  • Jpa Patterns

    affaan-m/ECC

    JPA/Hibernate patterns for entity design, relationships, query optimization, transactions, auditing, indexing, pagination, and pooling in Spring Boot.

    276k GitHub starsUsed in 5 repos~1.2k tokens
    DatabasesAuto-check passed
  • 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 yesterday
    Backend & APIsAuto-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?

Spring Boot 中用于实体设计、关联关系、查询优化、事务、审计、索引、分页和连接池的 JPA/Hibernate 模式。. 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 (docs/ja-JP/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 (docs/ja-JP/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 896 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), Jpa Patterns (affaan-m/ECC, 276k stars), Hibernate Upgrade (benchflow-ai/skillsbench, 1.8k stars) and Jpa Patterns (affaan-m/ECC, 276k 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.