Estou com o seguinte problema usando o EclipseLink, criei o meu EntityManager
da seguinte forma
emf = Persistence.createEntityManagerFactory(nomePu, new HashMap<String, String>() {
private static final long serialVersionUID = 1L;
{
put("javax.persistence.jdbc.url","jdbc:mysql://"+host+":"+porta+"/"+nomeBanco);
put("javax.persistence.jdbc.driver","com.mysql.jdbc.Driver");
put("javax.persistence.jdbc.password",senha);
put("javax.persistence.jdbc.user",usuario);
put("javax.persistence.schema-generation.database.action","create");
put("javax.persistence.schema-generation.create-source","metadata");
put("javax.persistence.schema-generation.drop-source","metadata");
put("javax.persistence.schema-generation.create-database-schemas","true");
put("javax.persistence.sql-load-script-source","META-INF/sql/load_script.sql");
}
});
Como podem ver, eu coloquei um .sql
para ser carregado ao final da criação do esquema do banco. Basicamente para inserir na tabela de Estados todas as UF do Brasil. O problema é que, cada vez que eu executo o projeto, ele insere os mesmos registros novamente.
O que está errado nas propriedades do EntityManager
, uma vez que eu quero que ele só seja criado uma vez o banco de dados, e por consequência, só uma vez seja adicionado os registros do .sql
?