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.
Deberías probar MinuteProject:
http://minuteproject.wikispaces.com/
http://javacodesamples.wordpress.com/2011/02/04/jpa2-reverse-engineering-tool/
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
Puede usar un complemento como Eclipse Dali para hacer el truco por usted. Puede consultar la documentación, sección 3.11 Generación de entidades a partir de tablas .
Sin embargo, no conozco ninguna herramienta específica independiente del proveedor para hacer esto.
Si eres un usuario de netbeans, obtengo un excelente complemento en neatbeans, http://plugins.netbeans.org/plugin/53057/jpa-modeler
Este video muestra cómo usarlo https://www.youtube.com/watch?v=TDbZ5EGpvoY
Se puede instalar desde el menú de NetBeans Herramientas-> Complementos
Funciona bien para mí.
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