程序调用不能从java调用工作

时间:2017-09-26 12:49:46

标签: java mysql sql hibernate stored-procedures

我创建了一个更新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.setParameterquery.ExecuteUpdate()

如果我方需要其他任何事情,请告诉我。

1 个答案:

答案 0 :(得分:1)

您似乎已经开始了您的交易但未提交。所以尝试提交它。

交易事务= session.beginTransaction();

<强>器transaction.commit()