The problem is right here
Code:
pessoa.setNome("XXXXXX");
session.delete(pessoa);
You are changing an object retrieved from the database and then trying to delete it before persisting it. Hibernate can't tell if that object is even from the database.
You should either create a new object that isn't associated to the session and run a delete on it, or update that object after you setNome("XXXX") and then delete.
as always, you have to catch the unexpected row count error if the object cannot be found.