Galera, estou fazendo um “HelloWorld” aqui com JPA para testar usando o toplink da Oracle. Pq quando eu crio um EntityManager eu vou lá no banco do fireBird e vejo que foi criado 7 instancias de usuario “SYSDBA” no banco??? É normal ou tem alguma configuração a ser feito para criar só um???
Object o = null;
//cria seu objeto que deve estar marcado como @Entity
//seta os atributos dele
//altera o nome da PU de teste para o que vc definiu no persistence.xml
EntityManager em = Persistence.createEntityManagerFactory("teste")
.createEntityManager();
EntityTransaction transaction = null;
try {
transaction = em.getTransaction();
transaction.begin();
em.persist(o);
transaction.commit();
} catch (Exception e) {
if (transaction != null)
transaction.rollback();
} finally {
em.close();
}
Se der certo, procura no seu código algum laço ou algo do tipo, se ainda assim gravar 7 registros, posta ai suas classes (o @Entity e o persistence.xml) que ai eu faço um teste aqui.
ps: deixa o parâmetro show_sql como true para você poder ver os sql’s executados. Caso esteja utilizando o hibernate, coloca isso como property do persistence.xml:
não, não está gravando 7 registros. É como se tivesse abrindo 7 conexões entende. Tipo antes de eu iniciar a aplicação vou no banco e vejo q existe um usuario conectado só, ai eu inicio a minha aplicação e aparece + 7 usuarios conectados.