有人可以透视JPA和Hibernate之间的区别.或者这些互补的概念是一起使用的吗?
粗略地说,JPA是来自java社区的标准,这里是规范,已经由Hibernate人员实现(和扩展)(这里有一些信息).作为规范,您不会直接使用JPA,而是使用JPA实现.
请注意,如果你将使用hibernate JPA的扩展,你将破坏与其他JPA实现的兼容性(虽然有些人会说"为什么你应该使用另一个JPA实现?").
2015年更新:这是一个非常古老的问题,在过去的大约6年里发生了很多变化.JPA API现在功能非常丰富,我推荐使用JPA,因为越来越多的工具和框架已经与之保持一致.一个例子是Spring Data JPA:它为常见任务删除了很多样板,并且非常高效:
http://projects.spring.io/spring-data-jpa/
原文答案:我将回应cheng81的评论,并投票支持使用普通的Hibernate API.JPA的功能集比Hibernate要小,我认为没有理由因为它是"标准"而让"纯JPA"陷入困境.