【发布时间】:2017-04-28 07:33:41
【问题描述】:
我正在尝试在休眠中使用 createSQLQuery 方法调用 SQL Server 存储过程,但遇到异常。请帮助,因为我是休眠新手。
例外:
org.hibernate.exception.SQLGrammarException: could not execute query
SQL Server 存储过程-
CREATE PROCEDURE [dbo].[sqlServerProc]
(@SOURCE_AID NUMERIC(18,0),
@DESTI_BID NUMERIC(18,0),
@E_CID NUMERIC(18,0),
@MOVE_DID BIT,
@RST_ADDED VARCHAR(MAX) = '' OUTPUT,
@LST_ADDED VARCHAR(MAX) = '' OUTPUT,
@PST_ADDED VARCHAR(MAX) = '' OUTPUT,
@IS_VALUE BIT = 0 OUTPUT
)
休眠代码:
public String Function(String AId,String BId,String CId,String DID ) throws Exception
{
try{
session = getSessionFactory().openSession();
session.beginTransaction();
Query query = session.createSQLQuery(
"CALL sqlServerProc(:AId,:BId,:CId,:DID)").setParameter("AId", AId).
setParameter("BId", BId).
setParameter("CId", CId).
setParameter("DID", DID).
;
ListOfEnvData= query.list();
for (Object[] aRow :ListOfEnvData) {
String a = (String) aRow[0];
String b = (String) aRow[1];
String c = (String) aRow[2];
String d = (String) aRow[3];
System.out.println("a"+a+"b"+b+"c"+c+"d"+d);
// value=d;
break;
}
}catch(Exception e){
session.close();
e.printStackTrace();
}}
【问题讨论】:
-
请帮忙!!!
标签: java sql-server hibernate