为了账号安全,请及时绑定邮箱和手机立即绑定

将休眠与 mysql 一起使用

将休眠与 mysql 一起使用

守着一只汪 2021-08-13 17:18:41
我遵循本教程mykong以便在 mysql 中使用 hibernate。我的问题是,当我启动程序时,我收到了这个异常org.hibernate.TransactionException: Transaction not successfully started"。所以我尝试使用session.persist(Object)andsession.flush()代替session.save(Object)and session.getTransaction().commit()。现在我没有收到任何异常,但该对象未保存在数据库中。日志显示请求休眠:插入库存 (STOCK_CODE, STOCK_NAME) 值 (?, ?)有人可以帮我解决这个问题吗?            session = HibernateUtil.getSessionFactory().openSession();        Stock stock = new Stock();        stock.setStockCode("4715");        stock.setStockName("GENM");        session.persist(stock);        session.flush();        session.getTransaction().commit();        session.close();
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

你正在尝试提交一个你甚至还没有开始的事务,因为你错过了


session.beginTransaction();

在你的代码中。


根据上面的网站,您必须启动一个会话,然后在会话中启动事务,进行编辑,将编辑的对象保存到会话中,然后提交事务。您的刷新也会导致问题,因为您甚至在保存或提交会话之前刷新会话。


    Session session = HibernateUtil.getSessionFactory().openSession();


    session.beginTransaction();

    Stock stock = new Stock();


    stock.setStockCode("4715");

    stock.setStockName("GENM");


    session.save(stock);

    session.getTransaction().commit();


查看完整回答
反对 回复 2021-08-13
  • 1 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信