我是Spring + JPA的新手,我正在开发一个使用名为 model-gen-myapp 的项目的Web应用程序。
此项目包含注释为映射数据库表的实体类(因此它包含我的Web应用程序用来表示数据库上的数据的模型)。
这是此项目的 pom.xml 内容:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>model-gen-profdb</groupId>
<artifactId>model-gen-profdb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.11.Final</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.8.2.RELEASE</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.3.3</version>
</dependency>
</dependencies>
</project>
正如您在之前的配置中所看到的,它添加了一些与一些Hibernate内容和 spring-data-jpa Spring项目相关的依赖项。
究竟使用了以前的依赖项?
然后,如果我选择这个项目进入Eclipse项目资源管理器,我会这样做:属性---&gt;项目方面我发现检查了以下方面 Java(版本1.7), JPA(版本2.1)和实用程序模块。
项目的确切方面是什么?以前的选择意味着什么?我不明白这些东西是否会添加依赖项,或者它是否与某些项目配置有关?
答案 0 :(得分:1)
首先让我向你介绍一下强大的Maven here 并请你做一些阅读。
依赖管理是Maven最重要的功能之一 这是其用户最熟悉的,也是Maven的领域之一 优良。
您的项目是JPA项目,hibernate-jpa-2.1-api
是为您提供JPA 2.1 API。您可以访问here。它基本上有这些父包:
javax.persistence
javax.persistence.criteria
javax.persistence.metamodel
javax.persistence.spi
JPA是specification from Oracle。像Hibernate
,Eclipse Link
等供应商具有此规范的实际实现。因此,您需要hibernate核心hibernate-core
jar。阅读about Hibernate here。
来spring-data-jpa
。 Spring Data JPA是较大的Spring Data系列的一部分,可以轻松实现基于JPA
repositories
的{{1}}。此模块处理基于JPA
data access layers
的增强支持。它使构建使用数据访问技术的Spring驱动应用程序变得更加容易。资料来源:Spring Data JPA
Eclipse中的项目构面:项目中使用的一个方面,以便IDE可以在生成器,向导,自动包含库等方面拦截它。如果您添加例如JPA facet,那么您将获得更多选项来使用JPA进行IDE魔术。在这里,您的项目使用 Java 1.7 , JPA 2.1 等。资料来源:What is 'Facet' in JavaEE?
我希望这可以帮到你!