我使用的是IntelliJ IDea 12 Ultimate,我创建了一个Maven项目。 然后我创建了一个类,并试图将@Entity注释添加到它。 现在,我没有像选择非maven项目那样选择本地包,intellij的想法开始要求我将一些远程依赖项导入到pom.xml中。 我如何知道选择哪个包? 例如,当我有一个非maven项目时,我选择了javax.persistence包来使用,并且ide基于基础JDK添加了正确的导入。 现在,如果我去http://mvnrepository.com/并搜索javax.persistence,那么我会得到这个页面(http://mvnrepository.com/artifact/javax.persistence/persistence-api),我有四种不同的选择(1.0-rev-1,1.0.2,1.0,1.0b)。 我怎么知道我的JDK使用哪个版本,所以我可以选择适当的Maven依赖关系? 谢谢。如何选择正确的包在maven项目中导入?
PS:这是当我搜索神器ID什么的IntelliJ选择(它似乎只选择最新的版本,独立包装者的):
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
</dependency>
如果我弄明白了,所有这些包装器(eclipse,hibernate)都使用相同的官方javax.persistence实现,但区别在于它们在包中包含了一些额外的东西? – skiabox 2013-03-14 15:35:17
'javax.persistence'是'唯一'的一个API,它是Java EE栈的一部分。基本上它是一组接口/注释,需要由提供者实现(eclipselink是JPA 2的参考实现)。请参阅[维基百科文章](http://en.wikipedia.org/wiki/Java_Persistence_API)了解更多信息。 – 2013-03-14 15:38:17
非常感谢您提供优秀的信息。最后一件事,当我在非Maven项目中使用它时,我的项目使用了哪个实现? – skiabox 2013-03-14 15:41:22