首页 > 解决方案 > 调试时遇到存储过程。但它不起作用(数据未插入数据库)

问题描述

这是我在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

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

标签: javamysqlspringmaven

解决方案


看起来你没有提交交易。

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

在这里查看这个问题以获得更详细的解释。


推荐阅读