Die Erzeugung des statischen Metamodells für JPA-Entities wird vom (normalen) Java-Compiler ab Java 6 automatisch erledigt, wenn ein entsprechender Metamodell-Generator im Classpath ist, z. B. hibernate-jpamodelgen. Ein Maven-Projekt braucht dazu nur die folgende Konfiguration:
<project …>
…
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<generatedSourcesDirectory>
target/generated-sources/annotations
</generatedSourcesDirectory>
</configuration>
</plugin>
</plugins>
</build><dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency><dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>1.3.0.Final</version>
<scope>provided</scope>
<optional>true</optional>
<exclusions>
<exclusion>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>
Statt der Dependency javax:javaee-api würde natürlich eine ausreichen, die nur JPA umfasst.
Mit dieser Projektkonfiguration wird zu einer Entity-Klassen Xyz in target/generated-sources/annotations eine Metamodellklasse namens Xyz_ erzeugt und kompiliert.
Um dieses Projekt auch in Eclipse bearbeiten zu können, muss vor dem Import des Projektes in der Workspace-Einstellung Maven -> Annotation Processing die Option Automatically configure JDT APT aktiviert werden. Diese Einstellung gehört zum Plugin m2e-apt, das seit einiger Zeit Bestandteil von Eclipse mit Maven-Integration ist, also bspw. im JBoss Developer Studio 7, aber auch bei Bedarf aus dem Marketplace nachinstalliert werden kann. Wird das Projekt dann als Maven-Projekt in Eclipse importiert, werden die Projekteigenschaften Java -> Compiler -> Annotation Processing und Java -> Compiler -> Annotation Processing -> Factory Path automatisch gefüllt, sodass auch bei der Bearbeitung durch Eclipse Metamodellklassen generiert werden.