首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用了大模型轻轻松松把JPA传参改得更优雅了,分享一下

用了大模型轻轻松松把JPA传参改得更优雅了,分享一下

作者头像
烟雨平生
发布2025-06-16 13:09:14
发布2025-06-16 13:09:14
1120
举报
文章被收录于专栏:数字化之路数字化之路

为什么要研究这个?

玩的项目比较多,用用JPA的。需要写新功能。

另外,JPA 作为标准化的 ORM 规范,提供高度抽象和自动化的 CRUD 操作,适合快速开发和减少重复代码,尤其在大型企业级应用中表现出色。它支持面向对象的开发方式,能够与 Spring 等框架无缝集成,简化事务管理和复杂查询。然而,JPA 的学习曲线较陡,且在性能优化和特定数据库特性利用方面可能不如直接编写 SQL 灵活。

不过,学习网线较陡。如果只是单表查询,用JPA效率还是很高的。

的数字化之路

格物致知 知行合一 记录开悟时的小欢喜 也希望能通过这种方式正向反馈社区

188篇原创内容

公众号

再牛再复杂的系统,也不过是用CRUD堆、砌起来的。

那先从CRUD走起:

C:Create(创建):向数据库中插入新的记录。

图片
图片

开箱即用的源码见文末。

图片
图片

R:Read(读取):从数据库中检索记录。

单个查询:

图片
图片

分页查询:

图片
图片
图片
图片
图片
图片

U:Update(更新):修改数据库中的现有记录。

见C

D:Delete(删除):从数据库中删除记录。

图片
图片
图片
图片

涉及到的源码:https://gitee.com/baidumap/jpa-crud.git

cn.aias.rbac.JpaCrudApplicationTests#testUserCrud

易错点【答案】:

在 JPA 中构建查询语句时,字段名的使用规则取决于查询语句的类型:

  1. 使用 JPQL(Java Persistence Query Language)时
    • JPQL 是一种面向对象的查询语言,基于实体类和字段名进行操作。
    • 在 JPQL 查询中,必须使用实体类中的字段名,而不是数据库表中的字段名。
  2. 使用原生 SQL 查询(nativeQuery = true)时
    • 原生 SQL 查询直接操作数据库表,因此需要使用数据库表中的字段名。
    • 在原生 SQL 查询中,字段名必须与数据库中的实际字段名一致。
图片
图片
小结要点
  1. 研究动机 JPA 作为标准化 ORM 规范,适合快速开发,减少重复 CRUD 代码。
  2. 核心优势
    • 高效开发:面向对象设计,与 Spring 等框架无缝集成,简化事务管理。
    • 单表场景高效:尤其适合单表查询,自动化操作提升效率。
    • 企业级支持:在大型应用中表现稳定,提供高度抽象。
  3. 挑战与局限
    • 学习曲线陡峭:需掌握复杂概念(如 JPQL、实体关系映射)。
    • 灵活性限制:深度性能优化或利用数据库特性时,不如原生 SQL 灵活。
  4. CRUD 实践关键
    • JPQL 查询 → 使用实体类字段名(面向对象)。
    • 原生 SQL 查询 → 使用数据库表字段名nativeQuery=true)。
    • 字段名规则
    • 复杂系统本质是 CRUD 的组合,JPA 可显著降低基础代码量。
  5. 定位总结 "再牛的系统,终由 CRUD 砌成" —— JPA 是快速搭建系统底层的利器,但需权衡学习成本与灵活需求。

# 1. 初始化仓库 git init # 2. 配置用户信息(局部) 如有需要 # 3. 添加远程仓库 git remote add origin https://gitee.com/baidumap/jpa-crud.git git remote -v  # 4. commit git add . git commit -m "msg" # 5. 重命名主分支为 master(Git 默认可能是 main) git branch -M master # 6. 强制推送到远程仓库(覆盖远程初始状态) git push -u origin master --force 唐成,公众号:的数字化之路在gitee.com上新建个项目,居然push不了,阿西吧

Spring Data JPA provides repository support for the Jakarta Persistence API (JPA).  The central interface in the Spring Data repository abstraction is Repository. The CrudRepository and ListCrudRepository interfaces provide sophisticated CRUD functionality for the entity class that is being managed. https://docs.spring.io/spring-data/jpa/reference/jpa/getting-started.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 的数字化之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 小结要点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档