Skip to content

JPA Repository实现 ​

深入理解JPA Repository的实现,掌握JPA相关的特性和优化,理解实体管理、级联操作、性能优化等核心功能。

📋 JPA Repository概览 ​

JPA Repository是Spring Data JPA的核心实现,提供了JPA相关的功能。

🎯 一、实体管理 ​

1.1 实体持久化 ​

SimpleJpaRepository.save:

java
@Override
public <S extends T> S save(S entity) {
    if (entityInformation.isNew(entity)) {
        entityManager.persist(entity);
        return entity;
    } else {
        return entityManager.merge(entity);
    }
}

1.2 实体更新 ​

merge操作:

java
public <S extends T> S save(S entity) {
    return entityManager.merge(entity);
}

🎯 二、级联操作 ​

2.1 级联保存 ​

@OneToMany级联:

java
@Entity
public class User {
    @OneToMany(cascade = CascadeType.ALL)
    private List<Order> orders;
}

2.2 级联删除 ​

级联删除实现:

java
@Override
public void delete(T entity) {
    entityManager.remove(entityManager.contains(entity) ? entity : 
            entityManager.merge(entity));
}

📖 学习资源 ​

视频教程 ​

书籍推荐 ​

  • 《Spring Data JPA从入门到精通》 - 张振华

网站资源 ​

✅ 学习检查清单 ​

  • [ ] 已理解实体管理
  • [ ] 已理解级联操作
  • [ ] 已理解性能优化
  • [ ] 已总结核心知识点

上一章节:查询方法实现
返回目录:SpringData源码深度解析