Quando é atualização ou inserção no método persist no JPA?

Como que o método persist do JPA sabe quando é inserção ou atualização?? já que ele usa esse método para as duas situações.

Tenho uma tabela hipotética que tem id, nome, nome_mae

id é auto-incremente, se seu der persist com um novo nome ele insere um novo…

mas se eu alterar ele tb insere um novo registro, só eu recuperando o id e passando no persist que ele vai fazer a atualização certa?? não tem outra maneira de indicar q estou fazendo atualização?

Para efetuar atualização utilize o merge. Se o objeto a ser gravado no banco não existir, ele insere um novo, caso contrário ele atualiza.