【问题标题】:Hibernate DAO doesn't insert row into database MyEclipseHibernate DAO 不会将行插入数据库 MyEclipse
【发布时间】:2011-05-16 07:09:12
【问题描述】:

我正在尝试将一个新对象插入到我的数据库中。我按照分步教程进行操作,但似乎对我不起作用。在教程中有以下行:

交易 tx = dao.GetSession().beginTransaction();

GetSession 没有弹出,我收到错误“GetSession() 在 DaoHibernateSupport 中不可见”。 我用以下内容替换了该行:

Transaction tx = dao.getSessionFactory().getCurrentSession().beginTransaction(); 

但是我在 currentSession 上得到了一个空异常。

我在线阅读并添加了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();
  • 所以这里没有引发异常,但是当我访问数据库时,表中没有行。

    你能帮帮我吗? 谢谢!

【问题讨论】:

  • 如果您注释错误,可能问题出在横幅类中。
  • @ user714965 好吧,我在 MyEclipse 中使用了 Hibernate 逆向工程,所以该类是自动创建的。他们不应该是正确的吗?我查看了横幅类,一切似乎都很好。
  • @Bozho 我猜 save() 将横幅保存(或应该保存)到数据库中。也是 DAO 类的一部分
  • 道不是你的代码吗?
  • 不,当我在数据库表上使用休眠反向工程时,会创建所有 3 个类。我得到:AbstractBanner、DAOBanner 和 Banner 类。

标签: java hibernate dao


【解决方案1】:

你可以试试

Transaction tx = dao.getSessionFactory().openSession().beginTransaction();

而不是

Transaction tx = dao.getSessionFactory().getCurrentSession().beginTransaction();

【讨论】:

  • 你是什么意思?我没有写任何查询。
【解决方案2】:

我想通了。当我在 MyEclipse 中使用逆向工程时,我创建了一个 SpringDAO 而不是 BasicDAO。现在 getSession() 方法可以正常工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-17
    • 2019-05-02
    • 2021-09-01
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多