JDBC,ORM,JPA,Hibernate

1.java 和 javax

java和javax都是Java的API(Application Programming Interface)包,java是核心包,javax的x是extension的意思,也就是扩展包

2.JDBC

 

3.ORM

ORM,Object-Relation-Mapping,即对象关系影射技术,是对象持久化的核心,是对JDBC的封装。

4.为什么使用ORM?

ORM则建立了Java对象与数据库对象之间的影射关系,程序员不需要编写复杂的SQL语句,直接操作Java对象即可,想对数据库对象操作事,直接操作Java对象即可。

5.什么是JPA

参考 JPA学习总结
JPA : Java Persistence API,Java持久化API,是Sun公司在Java EE 5规范中提出的Java持久化接口,旨在规范、简化Java对象的持久化工作。

JPA是目前比较流行的一种ORM技术之一,所以他拥有ORM技术的各种特点,当然他还有自己的一些优势。

使用JPA持久化对象,并不是依赖于某一个ORM框架。

 

JPA 查询 是面向对象的查询   是利用EntityManager来实现。JPA查询 也可以 使用原生sql

参考 一步步实现:JPA的基本增删改查CRUD(jpa基于hibernate)

参考JPA + SpringData 操作数据库原来可以这么简单 ---- 深入了解 JPA - 1

参考 Eclipse的Project Facets属性

6.为什么使用JPA

1 标准化

JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何声称符合 JPA 标准的框架都遵循同样的架构,提供相同的访问 API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行。使用JPA的一个好处是,可以更换实现而不必改动太多代码

2 可媲美JDBC的查询能力

JPA的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是hibernate HQL的等价物。JPA定义了独特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。

7.JPA框架

比较成熟的 JPA 框架主要包括 Jboss 的 Hibernate EntityManager、Oracle 捐献给 Eclipse 社区的 EclipseLink、Apache 的 OpenJPA 等

8.什么是Hibernate
参考http://blog.sina.com.cn/s/blog_5f1619e80100yoxz.html

JPA是一种规范,而hibernate是它的一种实现。

Hibernate对JPA的支持,并不是提供了一套替代品。而是对JPA的补充。
如果想用hibernate注解,一定会用到jpa的。如果hibernate认为jpa的注解够用,就直接用。否则会弄一个自己的出来作为补充”
所以首选JPA的注解,当JPA的注解不够用,采取用hibernate补充的注解。
 

 

 

 

posted on 2018-08-04 16:02  dreamstar  阅读(47)  评论(0编辑  收藏  举报