Carga inicial de dados em JPA (ou seed data, ou initial data)

Oi,

venho do mundo ruby e ainda estou tentando entender diversas coisas sobre o mundo Java, portanto sejam pacientes se eu não conseguir fornecer todas as informações necessárias.

Estou em um projeto que usa JPA para persistência de dados e ao desenvolver uma feature me deparei com um problema. Preciso inserir muitos dados no banco para me certificar que a feature está funcionando completamente, mas obviamente que realizar essa tarefa manualmente não é coisa de desenvolvedor que se preze.

Minhas pesquisas levaram apenas a uma solução, criar scripts sql para “popular” o banco. Mas vejam bem, se estou criando uma aplicação com JPA é exatamente para abstrair implementações específicas do banco, portanto scripts estão fora de questão.

No mundo ruby on rails temos o comando “rake db:seed” que simplesmente executa um arquivo chamado seed.rb o qual tem a função de adicionar os dados no banco fazendo chamadas para a camada de persistência. Existe algo parecido em Java?

A solução ideal para esse problema seria executar um objetivo do maven que executaria um arquivo com os dados para serem gravados no banco, existe algum forma fácil ou plugin pronto para fazer isso?

você pode usar o DbUnit. e pesquisando, encontrei um plugin para o Maven.

Eu encontrei ele, mas como o próprio nome sugere, é para testes. Eu quero inicializar o banco de dados pra desenvolvimento mesmo.

[quote=filipegiusti]…
Preciso inserir muitos dados no banco para me certificar que a feature está funcionando completamente, …

A solução ideal para esse problema seria executar um objetivo do maven que executaria um arquivo com os dados para serem gravados no banco…[/quote]
estas frases me fezeram pensar que você precisava dos dados apenas para teste.

peço desculpas, mas neste caso não poderei ajudar. não conheço nenhuma ferrameta para essa atividade.

É, realmente, eu não deveria precisar disso “normalmente” mas cai no meio de um projeto sem testes e sem conhecimento dos frameworks é difícil começa-los agora. Valeu pela atenção.
:wink: