gpt4 book ai didi

java - 如何使用 JPA 制作 Maven 包,但独立于服务提供商;后来如何通过这个包的用户插入我的服务提供商?

转载 作者:行者123 更新时间:2023-11-30 07:35:09 24 4
gpt4 key购买 nike

我不确定这是否可能......

我有一些设计模式,我想要在我的特殊 Maven 包 (#1) 中使用它们 - 所有这些模式都使用 javax.persistence。我不希望这个包依赖于 Hibernate 或 JPA 的任何其他实现。让它依赖于 JPA API,因为它是由 JCP 定义的。我的第二个 Maven 包 (#2) 是使用第一个,并指定要使用的 JPA 实现(例如 Hibernate)。

现在,我如何为这两个包定义我的 pom.xml(让 #2 包的 JPA 实现者为 Hibernate)?

最佳答案

JPA定义了一个包javax.persistence,里面包含了Annotations、Interfaces等。这个包是完全独立于供应商的。它应该包含基于 JPA 实现提供商独立服务所需的一切。

您唯一需要做的就是在您的 Maven 模块 #1 中添加对包含 Maven 构件的 javax.persistence 的依赖。

有几个 Maven Artifact 包含此 javax.persistence 包。例如:

<dependency>
<!-- JPA 1.0 -->
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
</dependency>


<dependency>
<!-- JPA 2.0 -->
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.0.0</version>
</dependency>

在您的 Maven 模块 #2 中,您需要添加对模块 #1 的依赖以及对您喜欢使用的 JPA 提供程序(例如 Hibernate)的依赖。(如果您使用的提供程序对 javax.persistence 包使用其他依赖项,那么您需要排除其中一个。)

关于java - 如何使用 JPA 制作 Maven 包,但独立于服务提供商;后来如何通过这个包的用户插入我的服务提供商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4665962/

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