Where is the Session opened, when is it closed and the transaction commited?
Basically in Hibernate you open a Session, and start a transaction, you do some stuff, like in your case you query for a record then call a setter. At that point either session.flush() or committing the transaction(which flushes the session) will update the database. You do not need to call any special session.update(man) method to update that change.
Why, because you loaded it from the query within the session. Hibernate when loading the data will put a reference to the object into its PersistenceContext. It holds the object, the PersistenceContext holds many maps of your objects, including any dirty changes. So it knows you called the setter and that your object is dirty. Then when you flush, it goes through the dirty changes and flushes it to the database.
Most of the time this is just at time of commit, since a commit causes a flush, and this is the usual way to run things. You can manually call flush at anytime, but it is rare that you should do this.