This is the text that describes the procedure call of SQL server in java side.
public static final String GET_NEXT_KEY ="{call NEXT_KEY(?,?)}";
/**
* Get Sequence key for internal user registration
* @param keyType
* @return String
* @throws DAOException
*/
public LonggetNextKey(String keyType)throws DAOException{
Connection conn = null;
CallableStatement stmt = null;
ResultSet rs = null;
Long nextKey = null;
try {
conn = ConnectionSQLServerFactory.getConnection();
conn.setAutoCommit(false);
conn.setTransactionIsolation(Connection.TRANSACTION_REPEATABLE_READ);
String sql = SQLConstants.GET_NEXT_KEY;
stmt = conn.prepareCall(sql);
stmt.registerOutParameter(1,Types.BIGINT);
stmt.setString(2, keyType);
stmt.executeUpdate();
nextKey = stmt.getLong(1);
DbUtils.commitAndClose(conn);
return nextKey;
} catch (Exception e) {
DbUtils.rollbackAndCloseQuietly(conn);
iBwLog.error(logContext, EVENTS.ADHOC, "MemberDAOImplcall getNextKey failed", e);
throw newDAOException(e.getMessage(),e);
} finally {
DbUtils.closeQuietly(conn,stmt, rs);
}
}