我创建了一个更新DB中的表行并在更新后返回特定字符串(例如' done')的过程,如果值未更新则返回不同的响应(例如&#39 ;失败'。)
从MySQL工具调用时,它更新表并在响应中返回值
call LoginCheck('9111111114','AGGR001002','11d3ad9315b7be5dd53b31a273b3b3aba5defe700808305aa16a3062b76658a791','DIST001007');
然而,当我从Java代码调用相同的过程时,它返回了正确的响应,即“完成”,但是当我检查表时,它似乎没有更新相应的表行。
factory = DBUtil.getSessionFactory();
Session session = factory.openSession();
Transaction transaction = session.beginTransaction();
String status = "7000";
List objectList = null;
SQLQuery query = session.createSQLQuery("call LoginCheck(:userid,:AggId,:Password,:id)");
query.setString("userid", userid);
query.setString("AggId", AggId);
query.setString("Password", Password);
query.setString("id", id);
objectList = query.list();
我已尝试query.setParameter
和query.ExecuteUpdate()
如果我方需要其他任何事情,请告诉我。
答案 0 :(得分:1)
您似乎已经开始了您的交易但未提交。所以尝试提交它。
交易事务= session.beginTransaction();
<强>器transaction.commit()强>