【发布时间】:2020-08-29 23:42:09
【问题描述】:
我正在尝试执行一个存储过程,它更新一列并在更新后从同一个表中检索文件名
存储过程:
CREATE DEFINER=`test`@`%` PROCEDURE `update_count`(
IN in_testID VARCHAR(64),
OUT out_FileName VARCHAR(100),
OUT out_Message VARCHAR(100))
BEGIN
UPDATE files SET count=count+1 WHERE testID=in_testID;
SELECT FileName INTO out_FileName FROM files WHERE testID = in_testID;
SET out_Message = 'File updated uccessfully';
END
执行这个StoredProcedure的Java代码:
Query query = session.createSQLQuery("CALL update_count(:in_testID, @out_FileName, @out_Message)").addEntity(FilesBean.class)
.setParameter("in_testID",body.getTestId());
query.executeUpdate();
将query.executeUpdate() 更新为query.list()。但是返回错误的行ResultSet is from UPDATE. No Data
我需要使用 createSQLQuery 来解决这个问题
【问题讨论】:
标签: java mysql hibernate stored-procedures hibernate-4.x