Escribo aplicaciones web y me pregunto cuál es la forma recomendada de rellenar los datos iniciales. Esta es la aplicación JPA/Hibernate y Spring y está construida por maven. Hasta ahora he usado script que llena la base de datos con datos iniciales, comenzados a mano.
Las pruebas unitarias funcionan con sus propios datos, creados en código antes de cada prueba. Mis clases de prueba extienden org.springframework.test.jpa.AbstractJpaTests.
Finalmente me gustaría tener una construcción maven que cree entidades de formulario de base de datos (ahora necesito ejecutar la aplicación por primera vez para crear una base de datos, luego ejecutar el script) luego rellena los datos iniciales/del diccionario y ejecuta las pruebas de unidad e integración. Este proceso debe ser completamente automatizado para poner esta compilación en el servidor de CI (hudson), también se aprecia la creación de una nueva base de datos desde cero.Cómo rellenar la aplicación web con los datos iniciales
Requisito adicional: la solución agnóstica de la base de datos será más valiosa.
EDITAR: El mejor ejemplo de lo que estoy buscando es init closure in BootStrap.groovy.
Considero el uso de Unitils para la prueba de mi unidad. Me pregunto si hay alguna forma de definir los datos iniciales en el archivo script/xml, leerlos en java y persistir usando JPA/Hibernate, en una base de datos independiente. – cetnar
Compruebe DBUnit, esto es lo que está buscando, excepto que no está basado en JPA. DBunit y su API le permiten definir datos iniciales y esperados en xml/csv, cargarlos desde pruebas unitarias, realizar un aseverar el contenido de la tabla, restaurar la base de datos en el estado inicial. Y existe una integración entre DBUnit y Unitils (ver http://www.unitils.org/apidocs/org/unitils/dbunit/package-summary.html) –