insertar example datos curso createentitymanagerfactory crear consultas con java code-generation persistence entity jpa-2.0

java - example - Generar entidades JPA 2 desde la base de datos existente



jpa sql (10)

¿Cómo puedo generar JPA2 compatible @Entity a partir de Bases de datos existentes ?.

Encontré esto: Question

Aún no está claro si JBoss generará JPA2 conforme y también me gustaría saber si hay una forma independiente de proveedores para hacer esto.


¿La opción "generar entidades desde la tabla" funciona para la base de datos H2 ?, siempre encuentro que la lista de esquemas está vacía en el paso Seleccionar tablas aunque tengo una configuración de conexión válida con la base de datos H2 usando el controlador JDBC genérico.

La misma conexión muestra tablas en hibernate-tools. Por ejemplo, cuando creo un xml de ingeniería inversa en su editor, puedo actualizar la pestaña de tablas y ver una lista completa. No sé si las herramientas de hibernación son relevantes, ya que podrían estar usando la configuración de la consola.


Debería echarle un vistazo a minuteproject en esta pista de ingeniería inversa para JPA2 . Es una herramienta independiente del proveedor. En la versión 0.5.5 genera:

  • Entidades JPA2 (para tablas y vistas) y metamodelo asociado
  • persistence.xml (solo la configuración de hibernación está disponible en 0.5.5) pero puede sobreescribirla.
  • maven pom con la integración querydsl
  • Clases de Enum (si se especifica en el enriquecimiento, es decir, en el archivo de configuración).

No lo he probado con H2 pero para hacer esto necesitas

  • agregue el controlador H2 jdbc en $ MP_HOME / application / lib / extra
  • agregue la clase de controlador y sus parámetros de conexión en la configuración de MinuteProject.


Eclipse proporciona esta función desde hace algún tiempo (originación de Dali, incluida desde la versión de Kepler). Simplemente haga clic derecho en su proyecto JPA -> Herramientas JPA -> Generar entidades desde tablas:


Existe una opción en Netbeans IDE para generar entidades a partir de una base de datos.


Intente usar las herramientas de mapeo inverso de OPENJPA. Ofrecen muchas más instalaciones y son fáciles de configurar. Este ejemplo aclararía.

Si está utilizando maven como herramienta de compilación, agregue esta entrada a su pom.xml

<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2</version> <configuration> <mainClass>org.apache.openjpa.jdbc.meta.ReverseMappingTool</mainClass> <commandlineArgs> -directory src/main/java -accessType fields -useGenericCollections true -package org.yourproject.model -metadata none -annotations true -innerIdentityClasses false -useBuiltinIdentityClass false -primaryKeyOnJoin false </commandlineArgs> <includePluginDependencies>true</includePluginDependencies> </configuration> <dependencies> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.CR3</version> </dependency> <dependency> <groupId>org.apache.openjpa</groupId> <artifactId>openjpa-all</artifactId> <version>2.0.1</version> </dependency> </dependencies> </plugin>

También agregue las siguientes propiedades en persistence.xml que se encuentra en su carpeta META-INF de sus recursos. Estos serían aprovechados por la herramienta openjpa para establecer una conexión a la base de datos.

<properties> <property name="openjpa.ConnectionUserName" value="${db.username}"/> <property name="openjpa.ConnectionPassword" value="${db.password}"/> <property name="openjpa.ConnectionURL" value="${db.url}"/> <property name="openjpa.ConnectionDriverName" value="${db.driver.class}"/> </properties>

Para generar los archivos de Entity, simplemente inicie el objetivo maven en el directorio del proyecto usando mvn org.codehaus.mojo: exec-maven-plugin: java y generará los archivos en la ubicación deseada.


MinuteProject es increíble. Genere clases Java desde el esquema de Oracle para JPA2. Y todo con mucha facilidad. Siga los pasos dados en el sitio web minuteproject aquí está la url: JPA2




Telosys es probablemente la forma más simple para este tipo de generación de código.

Genera las entidades JPA (por supuesto) y si quieres una aplicación web totalmente operativa

Ver el sitio web: http://www.telosys.org