publicvoid executeProcedure(String queryString, Object[] parameters) {
Connection connection = null;
CallableStatement stmt=null;
org.hibernate.Session session=this.getSession();
try {
connection=session.connection();
stmt=connection.prepareCall(queryString);
if(parameters.length>0)
{
for(int i = 0;i<(parameters.length);i++)
{
if (parameters[i] instanceof Integer)
{
stmt.setInt(i+1, (Integer)parameters[i]);
}
if(parameters[i] instanceof Double)
{
stmt.setDouble(i+1, (Double)parameters[i]);
}
if(parameters[i] instanceof Float)
{
stmt.setFloat(i+1, (Float)parameters[i]);
}
if(parameters[i] instanceof Long)
{
stmt.setLong(i+1, (Long)parameters[i]);
}
if((parameters[i] instanceof String) && (long)((String)parameters[i]).length() <= 65535L)
{
stmt.setString(i+1, (String)parameters[i]);
}
if(parameters[i] instanceof Short)
{
stmt.setShort(i+1, (Short)parameters[i]);
}
if(parameters[i] instanceof Boolean)
{
stmt.setBoolean(i+1, (Boolean)parameters[i]);
}
if(parameters[i] instanceof Byte)
{
stmt.setByte(i+1, (Byte)parameters[i]);
}
if(parameters[i] instanceof Byte[])
{
stmt.setBytes(i+1, (byte[])(byte[])parameters[i]);
}
}
}
stmt.executeUpdate();
stmt.close();
}
catch (Exception e)
{
e.printStackTrace();
}finally
{
if(connection!=null)
{
try {
connection.close();
} catch (Exception e) {
e.printStackTrace();
}finally{
connection=null;
}
}
org.springframework.orm.hibernate3.SessionFactoryUtils.closeSessionIfNecessary(session, this.getSessionFactory());
}
}