(Spring—Boot,jpa学习与个人理解)
JPA是什么?
• Sun公司在JavaEE5中提出了一套持久化规范,旨在规范和简化Java对象的
持久化开发工作,这就是JPA(Java Persistence API)。
• 许多ORM框架都实现了JPA规范,因此可以说是JPA统一了Java应用程序访
问ORM框架的规范。
个人理解:
1.JPA的作用类似于JDBC,指的是java提供一套JPA的接口然后由相关应用公司实现次接口
这样便可达到在java中利用一套JPA接口便可以调用其他公司相同业务的API,简化了开发难度;
JPA有什么特性,主要实现什么样的操作?
JPA是java对于操作持久层的操作,我们知道关系性数据库要使用sql语句而sql语句是面型关系性的语言,主要着重于表于表(列于列)之间的关系来操作数据;而JPA则更多的倾向于类鱼类之间的关系来操作数据(其是最终生成的也是sql语句但是这个过程由JPA的jvm来实现使用者并不需要写sql语句仅仅是调用JPA提供的方法即可)
JPA和sql的区别?
例如我们需要操作数据时,要使用自己编写的sql语句(SELECT * FROM t_user);而使用
JPA时我们只需要在业务层中写(在持久层接口继承 JpaRepository<UserBean,Long> 这个接口 List selectAll();)即可甚至于都不需要在持久层由任何操作,但是我们也需要明白JPA相较于SQL在效率上还是有差距的,并且在操作一些要使用中间表操作数据的时候SQL还是更加合适,但简单的关系相对不复杂的操作时使用JPA更加合适;
补充:
1.在使用JPA分页查询的时候需要使用到Pageable接口 ,Pageable接口方法众多所以最好使用次接口的实现类PageRequest的of方法来调用Pageable:( Pageable pageable = PageRequest.of(0,2);)
2.当我们在