Это код, в котором я вызываю хранимую процедуру в 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
Я не могу понять, почему это не выполняется. Когда я отлаживаю метод, он успешно вызывает вызов.
Похоже, вы не совершаете транзакцию.
getSession().createSQLQuery(sql).executeUpdate();
getSession().getTransaction().commit();
Взгляните на этот вопрос здесь для более подробного объяснения.
createWallet
? если да, то вам не хватает сессии db иquery.executeUpdate()