Prezados, no update não era pra manter o objeto no banco com o mesmo id e atualizar o nome depois que comitamos os objetos alterados no estado managed? O meu banco parece que está persistindo novos objetos.
mysql> select * from categorias;
+----+-----------+
| id | nome |
+----+-----------+
| 1 | CELULARES |
| 2 | xpto |
| 3 | xpto |
+----+-----------+
3 rows in set (0.00 sec)
Meu main de teste:
Categoria celulares = new Categoria("CELULARES");
EntityManager em = JPAUtil.getEntityManager();
em.getTransaction().begin();
em.persist(celulares);
celulares.setNome("xpto");
em.getTransaction().commit();
em.close();