0
Я звоню MySQL хранимой процедуры из Java, как это:MySQL хранимые процедуры вызова работает вручную, но не от Явы
public void deleteMyProduct(final String country, final String someId) throws EntityDoesNotExistException {
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(final Session session) {
session.clear();
Connection con = session.connection();
try {
CallableStatement cst = con.prepareCall("{call deleteProduct(?, ?)}");
cst.setString(1 , country);
cst.setString(2 , someId);
cst.execute();
cst.close();
}
catch(SQLException e){
logger.error("Error deleting product, someId: "+ someId, e);
}
return null;
}
});
Это не успешно удаляемый продукт; однако, когда я запускаю его вручную, он делает это. Любая идея, что может быть проблемой?
p.s. хранимая процедура довольно большая и содержит идентифицируемую информацию, поэтому я не могу ее опубликовать. Тем не менее, это было в производстве на некоторое время и только недавно просто перестало работать.
Я бы разместил этот «ответ» в качестве комментария к вопросу, но, похоже, мне нужна больше репутации, чтобы сделать это. – atastrumf
Как бы я посмотрел SQLException? Да, переменные определенно правильны. Кроме того, я отлаживаю код через выполнение хранимой процедуры, но я не могу войти в него. –
То, что я имел в виду, было, если вы получили какие-либо исключения, но если вы отлаживаете его, я думаю, вы увидите, что это произойдет .. – atastrumf