1、什么是JPA?
JPA的全称是Java Persistence API,翻译成中文就是java对象持久化应用程序接口。JPA是Sun公司在Java EE5中提出的java对象持久化应用程序接口。
2、JPA的优势是什么?
- 标准化
- 对容器级特性支持
- 简单易用,集成方便
- 可媲美JDBC的查询能力
- 支持面向对象的高级特性
3、JPA的缺点是什么?
- 性能不好?
- 学习难度大,学习成本高?
- 开发效率低下?
我会按照上面的思路来一点点入门JPA,同时结合例子来说明JPA的优势和缺点,并结合一些博客文章来进行一些学习思路的讨论和分析。
首先,我上网找了一些关于JPA简介的文章,这里贴出文章地址其中有一句话说:
JPA是一种规范,而hibernate是JPA规范的一种实现。
这里,我有了一些疑惑,JPA规范到底是啥?除了hibernate之外,还有哪些实现了JPA规范的框架呢?Mybatis是不是一个JPA规范实现框架呢?
顺着这个思路,我又去查找到底啥是JPA规范,google和百度一番之后发现,网上大部分是讲解JPA或者SpringJPA怎么使用,而对整个JPA规范的来龙去脉有深入了解的文章不多,最后没办法,只在一篇博客上JPA规范的蛛丝马迹:https://www.tutorialspoint.com/jpa/jpa_architecture.htm
从上面的图示中,各位能看到啥?我刚开始也是一头雾水,但是再结合另一个博文:
https://blog.csdn.net/elementf/article/details/72674926
我大概理解了学习JPA的基本思路和步骤:
概述大概理解就好,重点需要掌握一下内容:
- 理解实体生命周期和实体管理
- 实体对象映射关系和如何使用
- 查询语言以及使用
- 高级映射关系
- 事件以及事件监听
- 实体关系
我们下一章节重点学习实体生命周期和实体管理