gpt4 book ai didi

java - 没有 JavaEE 6 可以使用 JPA 2.0 吗?

转载 作者:行者123 更新时间:2023-12-02 08:20:22 24 4
gpt4 key购买 nike

我正在使用OpenJPA 2.1(它实现JPA 2.0)作为命令行实用程序。我正在使用 JPA 2.0 的新增类。我的编译目标是Java SE 1.6

OpenJPA 2.1 附带所有 JPA 2.0 javax.persistence.* 接口(interface)/实现。

我可以声称我的实用程序不依赖于JavaEE 6吗?

我的理解是,JavaEE 6是一个标准集合。因此,在这方面,它与任何其他随机标准集没有什么不同。因此,JavaEE 6 依赖于JPA 2.0,但JPA 2.0 不依赖于JavaEE 6,对吗?

最佳答案

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

Java SE 中的 JPA

如果问题确实是“我可以在 Java SE 中使用 JPA 吗?”,答案显然是可以的。 Java SE 有一个引导 API。它实际上是 JPA 的子集,不包含容器管理 (JTA) EntityManager,但它运行良好且非常棒。

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

Java SE 中的 EJB

如果我们问关于 EJB 的同样问题,“我可以在 Java SE 中使用 EJB 吗?”答案也是肯定的。 Java SE 有一个相同的引导 API。它是根据 JPA API 建模的,也是一个子集,并且同样轻量,具体取决于您选择的实现。

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

那么,到底是不是 Java EE?

我怀疑每个人,包括我自己,都在某种程度上感到有必要分别回答“”和“”。人们很容易从直觉开始,然后向后推导以使其合理化,但最终它并不能改变现实。

什么时候您认为部分满的玻璃杯是“”或“”?这是一个棘手的问题,因为半满的玻璃杯既不是空的也不是满的。如果你想选择其中之一,那是个人的区别。它不会改变现实。

JPA 是一个 JavaEE 规范(由 EJB 组创建),因此使用它肯定意味着您已经涉及了一些 Java EE。这是 JavaEE 的全部吗?它也不是 Java EE 的没有

您可以使用的最诚实的措辞是“我正在 Java SE 环境中使用 Java EE 功能。”

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

你的杯子里装满了一些开源 Java EE 的优点。出色的。只要开源领域有好人愿意免费为你倒满一杯酒,...我说干杯!

关于java - 没有 JavaEE 6 可以使用 JPA 2.0 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9419223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com