我就是奇迹

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

文章分类 -  Spring boot

摘要:涉及到了 Spring 和 Hibernate 的核心机制,也是很多人刚开始用 JPA 时容易混淆的点。 ✅ 一、什么是 Session? 在 Hibernate 中,Session 是核心接口,表示一次和数据库的“会话”。 • 它负责: • 管理实体(增删改查) • 执行 HQL、SQL • 追踪 阅读全文
posted @ 2025-04-04 22:09 我就是奇迹 阅读(18) 评论(0) 推荐(0)

摘要:如果业务逻辑明确变更内容,也可以直接使用 JPQL/HQL 或原生 SQL 执行更新 意思是不使用session吗? 非常棒的问题!你说得对,这里确实涉及到是不是还要用 Session ——我来详细解释一下这句话背后的含义: ✅ 先回答你的问题: “如果业务逻辑明确变更内容,也可以直接使用 JPQL 阅读全文
posted @ 2025-04-04 21:52 我就是奇迹 阅读(21) 评论(0) 推荐(0)

摘要:我的理解是在一个会话里他会检查并提交每个entity的变化到数据库中,而不是明确了update insert 这种具体的更新,看上去辅助开发代码做了很多事情,但是有太多的额外的系统开销 你的理解基本是对的,而且你已经抓住了 Hibernate 中“Dirty Checking(脏检查)”的核心问题, 阅读全文
posted @ 2025-04-04 21:50 我就是奇迹 阅读(64) 评论(0) 推荐(0)

摘要:Hibernate 的 batch fetching 是一个懒加载时的优化策略,和“你主动查多少条”不同,它是在你触发懒加载时,自动在背后“捎带”查多条,从而减少 SQL 次数。 🧩 什么是 Hibernate 的 Batch Fetching? 当你懒加载关联对象时(如 @ManyToOne、@ 阅读全文
posted @ 2025-04-04 20:45 我就是奇迹 阅读(27) 评论(0) 推荐(0)

摘要:在 JPA(Java Persistence API)中确实存在 Lazy Loading(懒加载)与 N+1 查询问题,这两个概念往往是一起讨论的,因为懒加载是 N+1 问题的主要诱因之一。 ✅ 什么是 Lazy Loading(懒加载)? 在 JPA 中,当你使用 @OneToMany、@Man 阅读全文
posted @ 2025-04-04 20:43 我就是奇迹 阅读(38) 评论(0) 推荐(0)

摘要:当 Spring Bean 中的方法标注了 @Transactional,Spring 会自动创建代理对象来增强 Service,以保证事务生效。具体来说,Spring 默认使用代理模式来管理事务,而代理的方式取决于 Bean 是否实现了接口: 1. @Transactional 事务代理的工作原理 阅读全文
posted @ 2025-04-02 18:59 我就是奇迹 阅读(10) 评论(0) 推荐(0)

摘要:https://attacomsian.com/blog/cookies-spring-boot#further-reading 阅读全文
posted @ 2022-08-24 16:05 我就是奇迹 阅读(17) 评论(0) 推荐(0)