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)
