java—调试时插入存储过程但它不起作用(数据没有插入数据库)

btqmn9zl  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(320)

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

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

}

hear是我的存储过程

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

我不明白为什么这不是执行。调试时,方法调用成功。

x33g5p2x

x33g5p2x1#

看起来你没有进行交易。

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

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

相关问题