JPA是对象-关系型映射的标准,说白了就是提供了一套接口,没有具体实现,而hibernate框架实现了这套接口,所以,你也可以不使用hibernate,而导入其他实现了JPA标准的框架。
以下引用百度百科:
jpa 的目标之一是制定一个可以由很多供应商实现的api,并且开发人员可以编码来实现该api,而不是使用私有供应商特有的api。因此开发人员只需使用供应商特有的api来获得jpa规范没有解决但应用程序中需要的功能。尽可能地使用jpa api,但是当需要供应商公开但是规范中没有提供的功能时,则使用供应商特有的api。
hibernate
jpa是需要provider来实现其功能的,hibernate就是jpa provider中很强的一个,应该说无人能出其右。从功能上来说,jpa就是hibernate功能的一个子集。hibernate 从3.2开始,就开始兼容jpa。hibernate3.2获得了sun tck的jpa(java persistence api) 兼容认证。
只要熟悉hibernate或者其他orm框架,在使用jpa时会发现其实非常容易上手。例如实体对象的状态,在hibernate有自由、持久、游离三种,jpa里有new,managed,detached,removed,明眼人一看就知道,这些状态都是一一对应的。再如flush方法,都是对应的,而其他的再如说query query = manager.createquery(sql),它在hibernate里写法上是session,而在jpa中变成了manager,所以从hibernate到jpa的代价应该是非常小的
同样,jdo,也开始兼容jpa。在orm的领域中,看来jpa已经是王道,规范就是规范。在各大厂商的支持下,jpa的使用开始变得广泛。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....