【问题标题】:Stored procedure is hitin when debugging. But it is not working(Data is n ot inserting to the database)调试时遇到存储过程。但它不起作用(数据未插入数据库)
【发布时间】:2018-09-13 11:18:13
【问题描述】:

这是我在 mysql 中调用存储过程的代码。

public void createWallet(String number) {
    Query query= getSession().createSQLQuery("CALL createWalletForOrigin(:string_number)").addEntity(Wallet.class)
    .setParameter("string_number", number);

}

听到的是我的存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `createWalletForOrigin`(IN string_number varchar(19))
BEGIN
insert into wallet values(string_number,0);
END

我无法弄清楚为什么这没有执行。当我调试方法调用成功。

【问题讨论】:

  • 这是createWallet方法的全部内容吗?如果是,您缺少数据库会话和query.executeUpdate()

标签: java mysql spring maven


【解决方案1】:

您似乎没有提交事务。

getSession().createSQLQuery(sql).executeUpdate();
getSession().getTransaction().commit();

看看这个问题over here有更详细的解释。

【讨论】:

  • 这才是真正的原因。非常感谢您帮助解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-19
  • 2020-06-18
  • 1970-01-01
  • 2018-05-24
  • 2012-03-18
相关资源
最近更新 更多