没有JavaEE6,JPA2.0可以使用吗?

没有JavaEE6,JPA2.0可以使用吗?,java,jakarta-ee,jpa-2.0,java-ee-6,openjpa,spring,Java,Jakarta Ee,Jpa 2.0,Java Ee 6,Openjpa,Spring,我正在使用openjpa2.1(它实现了jpa2.0)作为命令行实用程序。我使用的类是JPA2.0的新类。 我的编译目标是JavaSE1.6 OpenJPA2.1附带所有JPA2.0javax.persistence.接口/实现 我可以声明我的实用程序不依赖于JavaEE6吗 我的理解是,javaee6是一组标准。因此,在这方面,它与任何其他随机标准集没有什么不同。因此JavaEE6依赖于JPA2.0,但是JPA2.0不依赖于JavaEE6,对吗?JPA2.0是一个独立的Java应用程序,您可以

我正在使用openjpa2.1(它实现了jpa2.0)作为命令行实用程序。我使用的类是JPA2.0的新类。 我的编译目标是JavaSE1.6

OpenJPA2.1附带所有JPA2.0
javax.persistence.
接口/实现

我可以声明我的实用程序不依赖于JavaEE6吗


我的理解是,javaee6是一组标准。因此,在这方面,它与任何其他随机标准集没有什么不同。因此JavaEE6依赖于JPA2.0,但是JPA2.0不依赖于JavaEE6,对吗?

JPA2.0是一个独立的Java应用程序,您可以在没有应用服务器的独立Java应用程序中使用它。事实上,很多人都在使用JPA,它不需要任何容器来运行。

我总是对这样的问题微笑——好问题,潜在的答案让我微笑

javase中的JPA 如果问题真的是“我能在JavaSE中使用JPA吗?”那么答案显然是肯定的。JavaSE有一个引导API。它实际上是JPA的一个子集,不包含容器管理(JTA)EntityManager,但它工作良好,非常棒

对某些人来说,这是“非JavaEE”。很公平

javase中的EJB 如果我们问关于EJB的同样问题,“我可以在JavaSE中使用EJB吗?”答案也是肯定的。JavaSE有一个相同的引导API。它是按照JPAAPI建模的,也是一个子集,根据您选择的实现,它同样很轻

很少有人会认为这不是“JavaEE”。只要你回答JPA是JavaEE,这也是公平的

那么,javaee与否? 我怀疑在某种程度上每个人,包括我自己,都觉得有必要分别回答“否”和“是”。从直觉开始,并向后努力使其合理化,这很有诱惑力,但最终它不会改变现实

在什么情况下,你认为部分全玻璃是“空”还是“满”?这是一个骗人的问题,因为一个半满的杯子既不是空的也不是满的。如果你想把它看作是另一种,那就是个人的区别。这改变不了现实

JPA是一个JavaEE规范(由EJB组创建),因此使用它肯定意味着您已经涉及到一些JavaEE。都是JavaEE吗?不,也不是JavaEE

最诚实的说法是“我在JavaSE环境中使用JavaEE特性。”

最终,这并不重要。用你喜欢的


你的杯子里有一些开源JavaEE的精华。杰出的只要开源领域有好人愿意免费为你斟酒,。。。我说喝吧

@AlexisMP:是的,但不是JEE集装箱。它更像是构建在JSE之上的Java框架,可以利用各种JEE API。但是,如果仍然没有确认,请查看: