2013-02-15 74 views
-2

我已经在ejb3上使用JPA提供程序休眠,现在正在处理hibernate。 但我困惑,这些技术之间的区别是什么,因为jpa,hibernate和ejb3我没有发现这种差异。 任何机构可以请解释的主要特点还是什么都JPA,EJB3和hibernate有什么区别?

+2

真的吗?!关闭,因为它不是一个真正的问题?!只要它以'?'结尾,那么这是一个问题,值得回答。如果它听起来对你来说很不重要,那么在撰写评论时对超过900人来说听起来并不是这样。 – 2014-02-08 23:28:43

回答

4

持久性已“EJB3核心”,和一个新的标准 形成,Java持久性API的“爆发”(两者之间的主要区别JPA)。 JPA使用 javax.persistence包,并在EJB3规范JSR 220内的单独的 文档第一指定,但后来被移动到它自己的 规范JSR 317值得注意的是,javax.persistence将不需要的 EJB容器,从而将工作在Java SE环境中。

来源:http://en.wikipedia.org/wiki/Java_Data_Objects#JDO_vs._EJB3_vs._JPA

其它说明:http://en.wikipedia.org/wiki/Java_Persistence_API#Related_Technologies

Hibernate是JPA规范的实现。

+0

什么是技术明智的差异意味着什么功能?我的英语不太好。 – 2013-02-15 08:17:42

+3

Hibernate不是* JPA的“参考实现”。 EclipseLink用于JPA2,TopLink用于JPA1。参考实现仅仅是一个示例,说明spec是可以实现的,仅此而已。 – DataNucleus 2013-02-15 08:29:46

+1

@DataNucleus,感谢您纠正我。相应地更新了答案。 – 2013-02-15 08:47:11