Ошибка объясняется само собой.
Недопустимая попытка связать прокси с двумя открытыми сеансами .
Избегать использования нескольких открытых сеансов.Создайте переменную сеанса в верхней части вашего класса и используйте ее везде.
Измените метод сохранения следующим образом, чтобы убедиться, что сеанс открыт.
public static void save(Session session, Object ob) {
if(!session.isOpen){
session = getSession();
}
....
}