Spring Data JPA简介
1. 市场上的ORM框架对比
1.1 MyBatis
Mybatis是Apache一个开源项目iBatis,2010年这个项目由Apache Software Founddation迁移到Google Code,并且改名位MyBatis。MyBatis着力于POJO与SQL的映射关系,可以进行更为细致的SQL,使用起来十分灵活,可以进行更为细致的SQL,使用起来十分灵活,上手简单,容易掌握,目前市场占有率最高。
1.2 Hibernate
Hibernate是一个开放源代码的对象关系映射框架,对JDBC进行了非常轻量级的对象封装,使用Java程序可以随心所欲的使用对象编程思维操作数据库,并且对象有自己的生命周期,着力对象与对象之间的关系,有自己的HQL查询语言,数据库移植性很好。
1.3 Spring Data JPA
可以理解为JPA规范的再次封装抽象,底层使用了Hibernate的JPA技术实现,引用了JPQL(Java Persistence Query Language)查询语句,属于Spring整个生态体系的一部分。
2. Spring Data JPA的主要类及结构图
主要类
-
七个Repository接口
- Repository
- CrudRepository
- PageingAndSortingRepository
- QueryByExampleExecutor
- JpaRepository
- JpaSpecificationExecutor
- QueryDslPredicateExecutor
-
两个实现类
- SimpleJpaRepository
- QueryDslJpaRepository
关系图
底层封装类
- EntityManager
- EntityMangerImpl