【问题标题】:TopLink - Where are the JPA classesTopLink - JPA 类在哪里
【发布时间】:2014-07-15 17:24:03
【问题描述】:

Oracle TopLink 不包括 JPA 类吗?

我正在尝试创建一个 JPA/TopLink 项目。我有 downloaded the latest version of the TopLink jar (12c 12.1.2) 并确保将其包含在类路径中。

问题是我似乎找不到任何 javax.persistence.* 类,如 Entity、Column 等。尽管 JPA 的所有实现(如 TopLink、Hibernate 等)都包括那些类。这不是真的吗?我还应该如何让这个 JPA/Toplink 项目工作?

【问题讨论】:

    标签: java jpa toplink


    【解决方案1】:

    根据this 文章,Toplink 12.1.2 是基于 EclipseLink 构建的,并提供额外的好处,例如支持 RESTful 服务,这意味着 javax.persistence.* 包包含在 eclipselink.jar 文件中。此文件应存在于toplink.zip 下载的jlib 文件夹中。

    【讨论】:

    • 亚伦,谢谢你的回答。读完后,我复制了 zip 版本,eclipselink.jar 确实有 javax.persistence 包(我之前有自安装程序)。但是,该包没有自动生成的代码中存在的任何注释类型 - 实体、ID、列等。我应该在哪里寻找?
    • 压缩文件中modules目录下应该有一个名为javax.persistence_2.0.jar的文件,其中包含Entity、Id、Column等的实现
    【解决方案2】:

    您可以在随任何 Java EE 兼容服务器提供的 jar 中找到您的 javax.* 类(您通常可以在 lib 文件夹中的某处找到该 jar)。如果你使用 maven:

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
    </dependency>
    

    或者直接下载jar(版本7):

    http://mvnrepository.com/artifact/javax/javaee-api/7.0

    把它放在你的相关类路径上,一切都应该正常工作(我不确定 toplink,你可能需要 API 版本 6 - 也可以在 maven 存储库中找到)。

    【讨论】:

      猜你喜欢
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 2011-11-13
      • 2011-11-24
      • 2010-11-19
      • 2010-12-02
      • 2011-03-07
      相关资源
      最近更新 更多