Foro sobre Java EE > Crear Base de Datos con JPA Eclipse Link
Que yo sepa, no. Leí que esto (que no se cree automáticamente la base de datos en sí) es por diseño, ya que crear la base de datos implica crear usuarios, darles permisos, crear quizá un esquema, etc. y que eso no debería ser parte de las tareas de la aplicación. Evidentemente, en esa explicación no entraba una pequeña aplicación de escritorio SE con Derby o HSQLDB. :-)
Posiblemente la alternativa está disponer de un script (Bash, BAT) invocado desde la aplicación Java. Si eres de España, la aplicación PADRE de la Agencia Tributaria para hacer la declaración de la renta está escrita en Java, usa Derby o Cloudscape y se crea ella sola la base de datos y las tablas. A lo mejor si brujuleas en los archivos de la descarga puedes encontrar cómo lo hace.
Muchas gracias por tu respuesta!! me imaginé que sería asi.
Saludos desde Uruguay,
Gabriel Murugosa
Bueno no se porque no se ha implementado esto en Java mediante JPA porque eso si lo podemos hacer en Symfony 2 con Doctrine 2. Esto es muy útil por ejemplo cuando queremos crear un módulo de instalación para nuestro sistema y no veo por qué hay que ir al sistema gestor de bases de datos y crear la tabla si ya nuestro módulo lo puede hacer.
Quisiera saber si hay forma de crear la base de datos automaticamente con alguna propertie en el archivo persistence.xml.
Las tablas las genera correctamente cuando la base ya esta creada, pero si la base no esta creada no las genera.
Lo tengo configurado de esta forma, saludos, Gabriel
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/GSERVICE"/>
<property name="javax.persistence.jdbc.password" value="memory"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.schema-generation-action" value="drop-and-create"/>
<property name="javax.persistence.schema-generation-target" value="database"/>
<property name="eclipselink.deploy-on-startup" value="true"/>
</properties>