JPA 和Hibernate annotation区别

来源:百度知道 编辑:UC知道 时间:2024/05/24 12:26:40
Hibernate annotation使用了JPA的注解
JPA除了注解还有什么优点啊,他和hibernate annotation有什么区别
我的开发环境是eclipse,不能使用Myeclipse

我用Hibernate annotation集成Spring时,没用部署服务器,直接用junit测试的

JPA集成Spring时,一定需要用部署服务器吗?可以不部署,用Junit进行测试吗?

其实在我看来最大的优点是jpa可以忽略持久层框架,即无论是hibernate还是toplink都采用可以采用相同的jpa接口,和hibernate annotation基本没有什么区别。
JPA集成Spring时,可以不部署服务器,可以用junit进行测试!因为spring不依赖于服务器!

JPA的始作俑者就是Hibernate的作者,JPA做为Java EE5里面的新成员说白了跟jdbc一样就是一接口,具体实现由服务器实现,JBoss就是用hibernate去实现的,weblogic是用OpenJPA,Oracle是用TopLink,作为一个规范考虑到各个服务器的兼容程度,在功能上肯定要绑手绑脚的,不过发展前景是好的,就像jdbc一样,你的代码不依赖任何框架,可以无缝迁移各个服务器

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