Segue abaixo como esta o código no vídeo e comentário explicando a situação, se quiser copie o código e rode no eclipse para entender melhor.
--------------------------//Código//---------------------------------
EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
Conta conta = em.find(Conta.class, 1); // Conta já existe então seu estado NÃO é TRANSIENT (pois sua
// característica é justamente nunca ter sido gerenciada pelo banco)
conta.setTitular("Joao");
conta.setAgencia("456");
System.out.println(conta.getTitular());
em.getTransaction().commit();
em.close(); // Aqui encerro a conexão. Quando "matamos" a aplicação, a entidade "morre" junto, com isso não sendo mais gerenciada pelo JPA//.
EntityManager em2 = new JPAUtil().getEntityManager();
em2.getTransaction().begin();
// Aqui seu estado é Detached, em que a conta não é mais gerenciada pelo JPA,
// mais existe uma representação sua no banco.
conta.setTitular("Leonardo");
em2.persist(conta);
/*
* Erro da linha acima, mais se trocar para em2.merge(conta) funciona.
*
* Pois o merge() é responsável por transformar uma conta que já foi gerenciada
* pelo JPA em um momento anterior, transformando-a em Managed novamente,
* permitindo a sincronização com o banco de dados
*/
System.out.println(conta.getTitular());
em2.getTransaction().commit();
em2.close();