浅谈jpa、hibernate与spring data jpa三者之间的关系
程序员文章站
2022-05-15 13:18:25
1.解释hibernate之前先了解下什么是orm,orm是object relation mapping,即对象关系映射,object可以理解成java实体类Entity,relation是关系型数据库中的二维表,mapping是java对象到数据库表记录的映射; 2.hibernate是一种强大 ......
1.解释hibernate之前先了解下什么是orm,orm是object relation mapping,即对象关系映射,object可以理解成java实体类entity,relation是关系型数据库中的二维表,mapping是java对象到数据库表记录的映射;
2.hibernate是一种强大的orm框架,着手解决如何实现映射的方案,是一种处理映射关系方法类框架;
3.jpa,java persistence api,即java 持久化api,是一种官方标准(接口),因为官方没有好的解决方案,而hibernate是第三方的,所以厚颜无耻的在有了具体解决方案后提出一种标准,实际是sun的ejb斗不过spring的结果(想听故事自行百度),jpa的具体解决方案不止hibernate一种,还有toplink、jdo、open等,可以简单理解成jpa是接口,hibernate是实现类;
4.spring data jpa是强大的spring data系列的一部分,可以轻松实现基于jpa的存储库,此模块处理对基于jpa的数据访问层的增强支持,它使构建使用数据访问技术的spring驱动应用程序变得更加容易。简单理解就是spring对jpa的更高层次的抽离,也是一种规范,需要具体实现,如hibernate,不过在此基础上又实现了一些功能,比如可以根据dao接口中的方法名智能实现dao的实现,所有你只需要写dao接口,不需要写实现,不过方法名必须符合规则,具体规则自行百度。