de persistencia utilizando o metodo merge() do gerenciador de entidades.O metodo merge() chamara uma IllegalArgumentException se seu parametro nao for um tipo de entidade. A TransactionRequiredException e chamada se esse metodo for invocado em um contexto de persistencia com escopo de transacao. Mas se o gerenciador de entidades for um contexto de persistencia estendido, sera valido invocar esse metodo fora do escopo de uma transacao e a atualizacao sera enfileirada ate o contexto de persistencia interagir com uma transacao.*Removendo entidadesUma entidade pode ser removida do banco de dados chamando o metodo EntityManager.remove().Depois de remove() for chamado, a instancia address nao sera mais gerenciada e se tornara desacoplada. Alem disso, se a entidade tiver algum relacionamento com outros objetos de entidade, estes tambem poderao ser removidos, dependendo das regras em cascata. A operacao remove() so pode ser desfeita recriando a instancia de entidade com o metodo persist().O metodo remove() chama uma IllegalArgumentException se seu parametro nao for um tipo de entidade. A TransactionRequiredException e chamada se esse metodo for invocado em um contexto de persistencia com escopo de transacao. Entretanto, se o EntityManager for um contexto de persistencia estendido, sera valido invocar esse metodo fora do escopo de uma transacao, e o remove sera enfileirado ate o contexto de persistencia interagir com uma transacao.*refresh()Se a preocupacao for pelo fato de que uma entidade gerenciada nao foi atualizada em relacao ao banco de dados, podera utilizar o metodo EntityManager.refresh(). Este metodo atualiza o estado da entidade, sobrescrevendo quaisquer alteracoes feitas na entidade.Se o bean de entidade tiver entidades relacionadas, essas entidades tambem podem ser atualizadas, dependendo da diretiva da cascata configurada nos metadados da entidade de mapeamento.O metodo refresh() chama uma IllegalArgumentException se seu parametro nao for gerenciado pela instancia atual do gerenciador de entidades. A TransactionRequiredException e chamada se esse metodo for invocado em um contexto de persistencia com escopo de transacao. Entretanto, se o gerenciador de entidades for um contexto de persistencia estendido, sera valido invocar esse metodo fora do escopo de uma transacao. Se o objeto nao mais estiver no banco de dados porque outra thread ou outro processo o removeram, esse metodo entao lancara uma EntityNotFoundException.*contains() e clear()O metodo contains() recebe uma instancia de entidade como um parametro. Se essa instancia de objeto particular for gerenciada atualmente pelo contexto de persistencia, ela retornara true. Ela lanca uma IllegalArgumentException se o parametro nao for uma entidade.Se precisar desacoplar todas as instancias de entidade gerenciadas de um contexto de persistencia, podemos invocar o metodo clear() do EntityManager. Ao chamar clear(), todas as alteracoes feitas nas entidades gerenciadas serao perdidas. E prudente chamar flush() antes de clear() ser invocado, para que nao seja perdida nenhuma alteracao.*flush() e FlushModeTypeAo chamar persist(), merge() ou remove(), essas alteracoes nao sao sincronizados com o banco de dados ate o gerenciador de entidades decidir gravar. Voce pode forcar a sincronizacao a qualquer momento chamando flush(). Por padrao, a atualizacao acontece automaticamente antes de uma consulta correlacionada ser executada (implementacoes ineficientes podem ate mesmo atualizar antes de qualquer consulta) e em tempo de confirmacao de uma transacao. A excecao