JPA的优势都有哪些


Posted in 面试题 onJuly 04, 2013
1.JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何符合 JPA 标准的框架都遵循同样的架构,提供相同的访问 API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行。
2.JPA提供了对容器级特性的支持
JPA 框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。
3.JPA简单易用,集成方便
JPA的主要目标之一就是提供更加简单的编程模型:在JPA框架下创建实体和创建Java 类一样简单,没有任何的约束和限制,只需要使用 javax.persistence.Entity进行注释;JPA的框架和接口也都非常简单,没有太多特别的规则和设计模式的要求,开发者可以很容易的掌握。JPA基于非侵入式原则设计,因此可以很容易的和其它框架或者容器集成。
4.JPA拥有可媲美JDBC的查询能力
JPA的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是Hibernate HQL的等价物。JPA定义了独特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。
5.JPA支持面向对象的高级特性
JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化。

Tags in this post...

面试题 相关文章推荐
为什么使用接口?
Aug 13 面试题
J2SDK1.5与J2SDK5.0有什么区别
Sep 19 面试题
什么是Deployment descriptors;都有什么类型的部署描述符
Jul 28 面试题
JDK安装目录下有哪些内容
Aug 25 面试题
一份Java笔试题
Feb 21 面试题
中间件分为哪几类
Mar 14 面试题
一道输出判断型Java面试题
Oct 01 面试题
是否可以从一个static方法内部发出对非static方法的调用?
Aug 18 面试题
Java Servlet API中forward() 与redirect()的区别
Apr 20 面试题
Java中的类包括什么内容?设计时要注意哪些方面
May 23 面试题
Java中的异常处理机制的简单原理和应用
Apr 27 面试题
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
Nov 22 面试题
J2EE中的容器都包括哪些
Aug 21 #面试题
J2EE面试题
Mar 14 #面试题
J2EE包括哪些技术
Nov 25 #面试题
J2EE的优越性主要表现在哪些方面
Mar 28 #面试题
J2EE面试题集锦(附答案)
Aug 16 #面试题
国外的一些J2EE面试题一
Oct 13 #面试题
J2EE模式面试题
Oct 11 #面试题
You might like
php 301转向实现代码
2008/09/18 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
2016/06/16 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
vue.js中Vue-router 2.0基础实践教程
2017/05/08 Javascript
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
layer 刷新某个页面的实现方法
2019/09/05 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
transform python环境快速配置方法
2018/09/27 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
解析PyCharm Python运行权限问题
2020/01/08 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
2021/01/05 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
超市商业计划书
2014/05/04 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis