I am pretty new in Spring + JPA and I am working on a web application that use a project named model-gen-myapp.
This project contain the entity class annotated to map the database table (so it contain the model used by my web application to represent the data on the DB).
This is the pom.xml content of this project:
<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>
As you can see in the previous configuration it add some dependencies related to some Hibernate stuff and the spring-data-jpa Spring project.
For what exactly are used the previous dependencies?
Then if I select this project into the Eclipse project explorer and I do: Properties ---> Project Facets I find that the following facets are checked Java (version 1.7), JPA (version 2.1) and Utility Module.
What exactly is a project facets and what means the previous choice? I don't understand if this stuff add dependencies or if it something related to some project configuration?