Я пытаюсь вставить новый объект в мою базу данных. Я следовал пошаговой инструкции, но, похоже, она не работает для меня. В уроке была следующая строка:
Транзакция tx = dao.GetSession (). BeginTransaction ();
GetSession не появляется, я получаю сообщение об ошибке «GetSession () не виден из DaoHibernateSupport».
Я заменил строку следующим:
Transaction tx = dao.getSessionFactory().getCurrentSession().beginTransaction();
но затем я получил нулевое исключение для текущей сессии.
Я прочитал онлайн и добавил current_session_context property
, установленный как "thread
".
Кажется, что теперь все работает, я не получаю никаких исключений, но строки в моей базе данных MySql по-прежнему отсутствуют. Таблица InnoDB.
Вот мой окончательный код:
Banner banner = new Banner();
banner.setUrl(url);
banner.setCategorie(categorie);
banner.setCuvinteCheie(cuvinte_cheie);
banner.setMaxCpc(cpc);
banner.setPath(cale);
banner.setPaththumb(caleThumb);
banner.setAdvertiserId(Integer.parseInt(session.getAttribute("UserID").toString()));
BannerDAO dao = new BannerDAO();
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
dao.setSessionFactory(sessionFactory);
Transaction tx = dao.getSessionFactory().getCurrentSession().beginTransaction();
dao.save(banner);
tx.commit();
dao.getSessionFactory().getCurrentSession().close();
Так что здесь не возникает никаких исключений, но когда я обращаюсь к базе данных, в таблице нет строк.
Не могли бы вы мне помочь?
Спасибо!