.....
Ese es un test de una librería personal, y el resultado es parecido a esto:
Código:
2013-11-13 21:49:24,527 DEBUG [main] com.....[codigo='1'][nombre='primero']
2013-11-13 21:49:24,543 DEBUG [main] com....[codigo='1'][nombre='Nuevo nombre']
Alli se puede observar que el segundo LOG muestra la entidad modificada pero no se hace persistente en la base de datos, la base de datos no se actualizó nunca; aun cuando se hace merge() de los dos resultados al final. El problema estriba en que JPA maneja un estado interno de las entidades, al hacer un findAll() en tu caso seguramente hace un merge interno (por decirlo de alguna forma), que es lo que sucede en este caso también.
Igual no tiene mucho sentido hacer un findAll() y después otro findAll() de la misma data, por eso lo tienes en un Session Bean, a menos que sea demasiada data en sesión u otros motivos.
Saludos,