jimmer-orm

Jimmer ORM 开发助手,帮助编写实体映射代码和 DSL 查询语句。适用于:(1) 定义或修改 Jimmer 实体(使用 @Entity 注解的 interface);(2) 编写 Jimmer DSL 查询代码;(3) 配置实体关联关系(@ManyToOne, @OneToMany, @ManyToMany);(4) 使用动态谓词、动态表连接或隐式子查询;(5) 编辑包含 Jimmer 相关代码的 Java/Kotlin 文件。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "jimmer-orm" with this command: npx skills add coooolfan/unirhy/coooolfan-unirhy-jimmer-orm

核心概念

实体定义特点

  • 使用 interface 定义实体,而非 class
  • 实体是动态对象不可变对象
  • 只有 getter,没有 setter
  • 由 KSP (Kotlin) 或 AnnotationProcessor (Java) 编译时生成实现
  • 属性未设置 ≠ 属性为 null

DSL 查询特点

  • 强类型 SQL DSL,提供编译时安全保证
  • 动态谓词:根据参数决定是否添加 SQL 条件
  • 动态表连接:未使用的连接自动忽略,冲突连接自动合并
  • 隐式子查询:基于集合关联创建子查询,自动生成父子关联条件

语言选择

Jimmer 为 Kotlin 提供了特化的 API 风格

  • 实体映射: 参考 references/entity-mapping.md
  • DSL 查询: 参考 references/dsl-queries.md
  • 实体模板: 参考 assets/EntityTemplate.kt

关键注解速查

  • @Entity - 标记实体类型
  • @Id - 标记主键
  • @GeneratedValue - 主键生成策略
  • @Key - 业务键
  • @ManyToOne / @OneToMany / @ManyToMany / @OneToOne - 关联映射
  • @JoinColumn - 自定义外键列名
  • @JoinTable - 自定义中间表
  • @Column - 自定义列名(仅用于非关联字段)
  • @Table - 自定义表名
  • ? (Kotlin) - 标记可空属性

命名约定

  • 实体名 → 表名:BookStoreBOOK_STORE
  • 属性名 → 列名:firstNameFIRST_NAME
  • 多对一外键:storeSTORE_ID

工作流程

  1. 定义实体时:

    • 使用 interface 而非 class
    • 根据项目语言参考对应的实体模板和映射文档
    • 参考 assets/EntityTemplate.ktreferences/entity-mapping.md
    • 参考 references/dto.md 完成 DTO 定义
  2. 编写查询时:

    • 优先使用动态谓词(Kotlin: ilike?/between?
    • 使用动态表连接处理关联查询
    • 使用隐式子查询处理集合关联
    • 根据项目语言参考对应的 DSL 查询文档
    • 参考 references/dsl-queries.md
  3. 遇到问题时:

    • 检查实体是否使用 interface 定义
    • 检查关联映射的 mappedBy 配置
    • 检查动态谓词的参数是否正确
    • 确认表连接路径是否正确

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

skill-creator

No summary provided by upstream source.

Repository SourceNeeds Review
General

Xiaohongshu Crawler

爬取小红书内容,支持登录搜索、笔记详情获取、用户主页信息及热门笔记,无需登录部分功能可用。

Registry SourceRecently Updated
General

TAPD

当用户需要查询、修改 TAPD 项目中需求、缺陷、任务等信息时,如修改状态、添加评论等,通过调用 TAPD MCP 提供相应的服务。当用户要求时,通过 send_qiwei_message 发送消息到企业微信。

Registry SourceRecently Updated
General

Roast Generator

吐槽生成器。温和吐槽、毒舌模式、朋友互怼、名人吐槽、自嘲、Battle模式。Roast generator with gentle, savage modes. 吐槽、毒舌、搞笑。

Registry SourceRecently Updated