三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

spring-data-jpa-2.3.9 Entity 状态

spring-data-jpa-2.3.9 Entity 状态

针对 spring-data-jpa-2.3.9,这几个概念是构建高性能数据访问层的核心。下面结合文档逐一拆解,并提供实战方案。


🧬 1. 实体状态(Entity State):JPA 的"生命体征"

JPA 中的实体有四种状态,这决定了 save() 方法执行 INSERT 还是 UPDATE 。

  • 瞬时态 (Transient):刚 new 出来的对象,还没和 EntityManager 关联。此时 id 通常为 null

  • 托管态 (Managed):对象已被 EntityManager 管理。任何修改都会在事务提交时自动同步到数据库(脏检查),无需手动调用 update

  • 游离态 (Detached):对象曾经是托管态,但 EntityManager 已关闭或调用了 detach() 方法。此时 id 有值,但修改不会自动同步。

  • 删除态 (Removed)

← 返回列表