/* * 存储过程调用 */ public Object findCallByNativeSql(final String sql ,final int resultType , final Object... values) { return (Object) getHibernateTemplate().execute(new HibernateCallback<Object>() { @Override public Object doInHibernate(Session session) throws HibernateException { try { Connection connection = SessionFactoryUtils.getDataSource(session.getSessionFactory()).getConnection(); CallableStatement prepareCall = connection.prepareCall(sql); if (values != null) { for (int i = 1; i < values.length + 1; i ++) { prepareCall.setObject(i, values[i-1]); } } prepareCall.registerOutParameter(values.length + 1, resultType); prepareCall.execute(); return prepareCall.getObject(values.length + 1); } catch (SQLException e) { e.printStackTrace(); return null; } } }); }