Самый простой метод в этом случае использовать Query Update. Что-то вроде:
"UPDATE User u SET u.name=:name where u.id = :id"
В этом случае меняет содержимое одного поле(в примере name) по имеющемуся полю(id).
Но как по мне удобнее использовать не SessionFactory, а EntityManager, тогда в репозитории будет промерно такой код:
@PersistenceContext
private EntityManager entityManager;
public void updateUser(User user) {
entityManager.merge(user);
}