数据访问抽象
深入理解Spring Data的数据访问抽象,掌握EntityManager的使用和查询执行机制,理解结果映射、事务管理等核心功能。
📋 数据访问抽象概览
Spring Data通过抽象层屏蔽了底层数据访问的差异,提供了统一的数据访问接口。
🎯 一、EntityManager封装
1.1 EntityManager使用
SimpleJpaRepository:
java
@Repository
@Transactional(readOnly = true)
public class SimpleJpaRepository<T, ID> implements JpaRepository<T, ID> {
private final EntityManager entityManager;
@Override
public <S extends T> S save(S entity) {
if (entityInformation.isNew(entity)) {
entityManager.persist(entity);
return entity;
} else {
return entityManager.merge(entity);
}
}
}🎯 二、查询执行
2.1 查询创建
QueryExecution:
java
public interface QueryExecution {
Object execute(AbstractJpaQuery query, Object[] parameters);
}2.2 查询执行流程
📖 学习资源
视频教程
书籍推荐
- 《Spring Data JPA从入门到精通》 - 张振华
网站资源
✅ 学习检查清单
- [ ] 已理解EntityManager封装
- [ ] 已理解查询执行机制
- [ ] 已理解结果映射
- [ ] 已总结核心知识点
上一章节:Repository接口实现
下一章节:查询方法实现
返回目录:SpringData源码深度解析