Jimmer Orm
Coooolfan/XiaomiAlbumSyncer
Jimmer ORM 开发助手(XiaomiAlbumSyncer 服务端),帮助编写实体映射代码、DTO 和 DSL 查询语句。适用于:(1) 定义或修改 Jimmer 实体(使用 @Entity 注解的 interface);(2) 编写 Jimmer DSL 查询代码;(3) 配置实体关联关系(@ManyToOne, @OneToMany, @ManyToMany);(4)…
Model Kotlin persistence code correctly for Spring Data JPA and Hibernate.
$ npx skills add JetBrains/skills --skill kotlin-backend-jpa-entity-mapping -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JetBrains/skills kotlin-backend-jpa-entity-mapping --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/JetBrains/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/kotlin-backend-jpa-entity-mapping .claude/skills/kotlin-backend-jpa-entity-mapping && rm -rf skills-srcUse ~/.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/
Install the "kotlin-backend-jpa-entity-mapping" agent skill from https://github.com/JetBrains/skills/tree/main/kotlin-backend-jpa-entity-mapping into .claude/skills/kotlin-backend-jpa-entity-mapping/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kotlin-backend-jpa-entity-mapping", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/JetBrains/skills/tree/main/kotlin-backend-jpa-entity-mappingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add JetBrains/skills --skill kotlin-backend-jpa-entity-mapping -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JetBrains/skills kotlin-backend-jpa-entity-mapping --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JetBrains/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/kotlin-backend-jpa-entity-mapping .agents/skills/kotlin-backend-jpa-entity-mapping && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "kotlin-backend-jpa-entity-mapping" agent skill from https://github.com/JetBrains/skills/tree/main/kotlin-backend-jpa-entity-mapping into .agents/skills/kotlin-backend-jpa-entity-mapping/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kotlin-backend-jpa-entity-mapping", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JetBrains/skills --skill kotlin-backend-jpa-entity-mapping -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JetBrains/skills kotlin-backend-jpa-entity-mapping --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JetBrains/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/kotlin-backend-jpa-entity-mapping .cursor/skills/kotlin-backend-jpa-entity-mapping && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "kotlin-backend-jpa-entity-mapping" agent skill from https://github.com/JetBrains/skills/tree/main/kotlin-backend-jpa-entity-mapping into .cursor/skills/kotlin-backend-jpa-entity-mapping/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kotlin-backend-jpa-entity-mapping", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/JetBrains/skills.git --path kotlin-backend-jpa-entity-mapping--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add JetBrains/skills --skill kotlin-backend-jpa-entity-mapping -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JetBrains/skills kotlin-backend-jpa-entity-mapping --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JetBrains/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/kotlin-backend-jpa-entity-mapping .gemini/skills/kotlin-backend-jpa-entity-mapping && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "kotlin-backend-jpa-entity-mapping" agent skill from https://github.com/JetBrains/skills/tree/main/kotlin-backend-jpa-entity-mapping into .gemini/skills/kotlin-backend-jpa-entity-mapping/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kotlin-backend-jpa-entity-mapping", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install JetBrains/skills kotlin-backend-jpa-entity-mappingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add JetBrains/skills --skill kotlin-backend-jpa-entity-mapping -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JetBrains/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/kotlin-backend-jpa-entity-mapping .github/skills/kotlin-backend-jpa-entity-mapping && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "kotlin-backend-jpa-entity-mapping" agent skill from https://github.com/JetBrains/skills/tree/main/kotlin-backend-jpa-entity-mapping into .github/skills/kotlin-backend-jpa-entity-mapping/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kotlin-backend-jpa-entity-mapping", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JetBrains/skills --skill kotlin-backend-jpa-entity-mapping -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JetBrains/skills kotlin-backend-jpa-entity-mapping --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JetBrains/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/kotlin-backend-jpa-entity-mapping .opencode/skills/kotlin-backend-jpa-entity-mapping && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "kotlin-backend-jpa-entity-mapping" agent skill from https://github.com/JetBrains/skills/tree/main/kotlin-backend-jpa-entity-mapping into .opencode/skills/kotlin-backend-jpa-entity-mapping/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "kotlin-backend-jpa-entity-mapping", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
kotlin-backend-jpa-entity-mappingModel Kotlin persistence code correctly for Spring Data JPA and Hibernate.
Kotlin Backend Jpa Entity Mapping is an agent skill from JetBrains/skills, published by the product's own GitHub organization. Model Kotlin persistence code correctly for Spring Data JPA and Hibernate. Covers entity design, identity and equality, uniqueness constraints, relationships, fetch plans, and common ORM (Object-Relational Mapping) traps specific to Kotlin. Use when creating or reviewing JPA (Java Persistence API) entities, diagnosing N+1 or LazyInitializationException, placing indexes and uniqueness rules, or preventing Kotlin-specific bugs such as data class entities and broken equals/hashCode.
Its SKILL.md is about 1.8k 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 Mobile, covering Android development, ORMs and data access and Database schema design. It works with Kotlin and Java. The repository describes itself as: Curated agent skills collection verified by JetBrains. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit e0f258b. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are kotlin).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Kotlin Backend Jpa Entity Mapping loads about 1.8k tokens when it runs. Until then it costs about 131 tokens; SKILL.md has 525 words of instructions outside code blocks.
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.
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.
The full file from JetBrains/skills at commit e0f258b, republished under its Apache-2.0 licence (© JetBrains). 525 words, ~1,825 tokens.
.claude/skills/kotlin-backend-jpa-entity-mapping/SKILL.md (or your agent's skills folder).Kotlin's data class is natural for DTOs but dangerous for JPA entities. Hibernate relies on
identity semantics that data class breaks: equals/hashCode over all fields corrupts
Set/Map membership after state changes, and auto-generated copy() creates detached
duplicates of managed entities.
This skill teaches correct entity design, identity strategies, and uniqueness constraints for Kotlin + Spring Data JPA projects.
data class for JPA entities. Use a regular class. Keep data class for DTOs.lateinit only when the project already accepts that tradeoff and the lifecycle is safe.kotlin("plugin.jpa") or equivalent no-arg support when JPA entities exist.equals/hashCode generated by data class on an entity.hashCode.data class Entity// WRONG: data class generates equals/hashCode from ALL fields
data class Order(
@Id @GeneratedValue val id: Long = 0,
var status: String,
var total: BigDecimal
)
// BUG: order.status = "SHIPPED"; set.contains(order) → false (hash changed)
// BUG: Hibernate proxy.equals(entity) → false (proxy has lazy fields uninitialized)@Entity
@Table(name = "orders")
class Order(
@Column(nullable = false)
var status: String,
@Column(nullable = false)
var total: BigDecimal
) {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
val id: Long = 0
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other !is Order) return false
return id != 0L && id == other.id
}
override fun hashCode(): Int = javaClass.hashCode()
// toString must NOT reference lazy collections
override fun toString(): String = "Order(id=$id, status=$status)"
}Key rules:
equals compares by ID only — stable under dirty tracking and proxy unwrappinghashCode returns class-based constant — avoids Set/Map corruption after persisttoString excludes lazy-loaded relations — prevents LazyInitializationExceptionid is val with defaultWhen an API must be idempotent (e.g., "reserve stock for order X"), enforce uniqueness at both layers: database constraint for correctness, application check for clean errors.
@Service
class ReservationService(private val repo: ReservationRepository) {
@Transactional
fun createReservation(variantId: Long, orderId: String, qty: Int): Reservation {
// BUG: no check — duplicates silently accumulate
return repo.save(Reservation(variantId = variantId, orderId = orderId, quantity = qty))
}
}@Entity
@Table(
name = "reservations",
uniqueConstraints = [
UniqueConstraint(columnNames = ["variant_id", "order_id"])
]
)
class Reservation(
@Column(name = "variant_id", nullable = false)
val variantId: Long,
@Column(name = "order_id", nullable = false)
val orderId: String,
@Column(nullable = false)
var quantity: Int
) {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
val id: Long = 0
}
interface ReservationRepository : JpaRepository<Reservation, Long> {
fun findByVariantIdAndOrderId(variantId: Long, orderId: String): Reservation?
}
@Service
class ReservationService(private val repo: ReservationRepository) {
@Transactional
fun createReservation(variantId: Long, orderId: String, qty: Int): Reservation {
repo.findByVariantIdAndOrderId(variantId, orderId)?.let {
throw IllegalStateException(
"Reservation already exists for variant=$variantId, order=$orderId"
)
}
return repo.save(Reservation(variantId = variantId, orderId = orderId, quantity = qty))
}
}Key rules:
DataIntegrityViolationExceptionfindByXAndY queries automatically@EntityGraph, JOIN FETCH, batch fetching, or DTO projection.orphanRemoval vs cascade remove: not interchangeable. Explain lifecycle semantics before choosing.toString, debug logging, JSON serialization, and IDE inspection can all trigger lazy loads.Set + mutable equality: collection membership can break after entity state changes.@Version: the clearest optimistic concurrency mechanism when concurrent updates matter.open-in-view disabled: DTO mapping touching lazy fields must happen inside a transaction boundary.data class for JPA entities.FetchType.EAGER everywhere to silence lazy loading symptoms.© JetBrains, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in kotlin-backend-jpa-entity-mapping of JetBrains/skills.
Open the folder on GitHubat commit e0f258b
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in JetBrains/skills, which our catalogue first saw on October 7, 2026.
Kotlin Backend Jpa Entity Mapping 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Kotlin Backend Jpa Entity Mapping this skillJetBrains/skills | 366 | 2 repos | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Jimmer OrmCoooolfan/XiaomiAlbumSyncer | 421 | — | ~702 | Automated safety check: Pass | GPL-3.0 | |
| Harmonica DevKenjiOhtsuka/harmonica | 131 | — | ~742 | Automated safety check: Pass | MIT | |
| Database Table Creatorc0x12c/ai-toolkit | 106 | — | ~1.1k | Automated safety check: Pass | None | |
| Build Teaql Appteaql/teaql-agent-kit | 2.8k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Find Untested Sourcesmicrosoft/testfx | 1k | 2 repos | ~3.3k | Automated safety check: Pass | MIT |
Coooolfan/XiaomiAlbumSyncer
Jimmer ORM 开发助手(XiaomiAlbumSyncer 服务端),帮助编写实体映射代码、DTO 和 DSL 查询语句。适用于:(1) 定义或修改 Jimmer 实体(使用 @Entity 注解的 interface);(2) 编写 Jimmer DSL 查询代码;(3) 配置实体关联关系(@ManyToOne, @OneToMany, @ManyToMany);(4)…
KenjiOhtsuka/harmonica
A skill your agent uses when working on the Harmonica Kotlin DB migration tool — planning, phase work, PRs, or anything touching this repo.
c0x12c/ai-toolkit
Creates database table with full Kotlin synchronization (SQL migration → Table → Entity → Repository → Tests).
teaql/teaql-agent-kit
Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries.
microsoft/testfx
MANDATORY for static source-to-test pairing: find or list source files/modules without corresponding tests, or suggest test locations from repository structure.
googlemaps/android-maps-ktx
Provides idiomatic Kotlin extension (KTX) patterns, reactive Flow event streams, and multi-subscriber shareIn rules for Google Maps SDK for Android and its Utility Library.
JetBrains/skills
A skill your agent uses when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli…
JetBrains/skills
Guide for creating effective skills. An agent skill from JetBrains/skills.
JetBrains/skills
Transcribe audio files to text with optional diarization and known-speaker hints.
JetBrains/skills
A skill your agent uses when the user asks to generate or edit images via the OpenAI Image API (for example: generate image, edit/inpaint/mask, background removal or replacement, transparent…
JetBrains/skills
A skill your agent uses when the user asks for text-to-speech narration or voiceover, accessibility reads, audio prompts, or batch speech generation via the OpenAI Audio API; run the bundled CLI…
JetBrains/skills
A skill your agent uses when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are…
Model Kotlin persistence code correctly for Spring Data JPA and Hibernate. Kotlin Backend Jpa Entity Mapping is an agent skill from JetBrains/skills, published by the product's own GitHub organization. Model Kotlin persistence code correctly for Spring Data JPA and Hibernate.
Kotlin Backend Jpa Entity Mapping fits situations like: reviewing JPA (Java Persistence API) entities; lazyInitializationException; placing indexes and uniqueness rules; preventing Kotlin-specific bugs such as data class entities and broken equals/hashCode.
Run `npx skills add JetBrains/skills --skill kotlin-backend-jpa-entity-mapping -a claude-code`. Or copy the skill folder (kotlin-backend-jpa-entity-mapping in JetBrains/skills) into .claude/skills/kotlin-backend-jpa-entity-mapping in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JetBrains/skills --skill kotlin-backend-jpa-entity-mapping -a codex`. Or copy the skill folder (kotlin-backend-jpa-entity-mapping in JetBrains/skills) into .agents/skills/kotlin-backend-jpa-entity-mapping in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JetBrains/skills --skill kotlin-backend-jpa-entity-mapping -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kotlin-backend-jpa-entity-mapping, .gemini/skills/kotlin-backend-jpa-entity-mapping, .github/skills/kotlin-backend-jpa-entity-mapping and .opencode/skills/kotlin-backend-jpa-entity-mapping in your project.
SKILL.md names no scripts, command-line tools or credentials: Kotlin Backend Jpa Entity Mapping is instructions for the agent only.
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.
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.
Kotlin Backend Jpa Entity Mapping is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Kotlin Backend Jpa Entity Mapping: Jimmer Orm (Coooolfan/XiaomiAlbumSyncer, 421 stars), Harmonica Dev (KenjiOhtsuka/harmonica, 131 stars), Database Table Creator (c0x12c/ai-toolkit, 106 stars) and Build Teaql App (teaql/teaql-agent-kit, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JetBrains (a GitHub organization, an official publisher) maintains it in JetBrains/skills, which has 366 GitHub stars. The repository holds 76 skills in this directory. The repository was last updated on June 29, 2026.
Source: JetBrains/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.