@Override
    public int hashCode() {
        int result = partitionexecutionid != null ? partitionexecutionid.hashCode() : 0;
        result = 31 * result + (stepexecutionid != null ? stepexecutionid.hashCode() : 0);
        result = 31 * result + (version != null ? version.hashCode() : 0);
        result = 31 * result + (batchstatus != null ? batchstatus.hashCode() : 0);
        result = 31 * result + (exitstatus != null ? exitstatus.hashCode() : 0);
        result = 31 * result + (executionexception != null ? executionexception.hashCode() : 0);
        result = 31 * result + (persistentuserdata != null ? Arrays.hashCode(persistentuserdata) : 0);
        result = 31 * result + (readercheckpointinfo != null ? Arrays.hashCode(readercheckpointinfo) : 0);
        result = 31 * result + (writercheckpointinfo != null ? Arrays.hashCode(writercheckpointinfo) : 0);
        return result;
    }