// Метод проверки существования пользователя по логину в базе
  public String userLoginInBd(User user) {
    Session session = HibernateUtil.openSession();
    Transaction transaction = null;
    String userLoginDB = null;

    try {
      transaction = session.getTransaction();
      transaction.begin();
      SQLQuery query = session.createSQLQuery("SELECT login FROM user WHERE login=?;");
      query.setParameter(0, user.getLogin());

      userLoginDB = (String) query.uniqueResult(); // возвращает экземпляр или null

      transaction.commit(); // применяем транзакцию

      System.out.println("Пользователь с логином = " + userLoginDB + "уже существует");

    } catch (Exception e) {

      // отменяем транзакцию
      transaction.rollback();
      e.printStackTrace();
    } finally {
      session.close();
    }

    return userLoginDB;
  }
  public Integer userIDInBd(User user, String id) {
    Session session = HibernateUtil.openSession();
    Transaction transaction = null;
    Integer userIdDB = null;

    try {
      transaction = session.getTransaction();
      transaction.begin();
      SQLQuery query = session.createSQLQuery("SELECT id FROM user WHERE login=?;");
      query.setParameter(0, user.getLogin());

      userIdDB = (Integer) query.uniqueResult();

      System.out.println("Печать id юзера из базы" + userIdDB);

      transaction.commit(); // применяем транзакцию

    } catch (Exception e) {

      // отменяем транзакцию
      transaction.rollback();
      e.printStackTrace();
    } finally {
      session.close();
    }

    return userIdDB;
  }
  public void updateUserBd(User user, String id) {

    Session session = HibernateUtil.openSession();
    Transaction transaction = null;

    try {
      transaction = session.getTransaction();
      transaction.begin();

      SQLQuery query =
          session.createSQLQuery(
              "UPDATE user SET surname=?, name=?, middleName=?, login=?, password=?, mobileTelephone=?, email=? WHERE id=?;");
      query.setParameter(0, user.getSurname());
      query.setParameter(1, user.getName());
      query.setParameter(2, user.getMiddleName());
      query.setParameter(3, user.getLogin());
      query.setParameter(4, user.getPassword());
      query.setParameter(5, user.getMobileTelephone());
      query.setParameter(6, user.getEmail());
      query.setParameter(7, id);
      int resultUpdate =
          query.executeUpdate(); // возвращает количество субъектов которые были изменены

      System.out.println("Update отчет " + resultUpdate);

      // session.saveOrUpdate(user);
      transaction.commit(); // применяем транзакцию
    } catch (Exception e) {

      // отменяем транзакцию
      transaction.rollback();
      e.printStackTrace();
    } finally {
      session.close();
    }
  }