@Override
  public int hashCode() {
    int hashCode = 1;

    hashCode = hashCode * 8191 + aint;

    hashCode = hashCode * 8191 + ((isSetAString()) ? 131071 : 524287);
    if (isSetAString())
      hashCode = hashCode * 8191 + aString.hashCode();

    hashCode = hashCode * 8191 + ((isSetLint()) ? 131071 : 524287);
    if (isSetLint())
      hashCode = hashCode * 8191 + lint.hashCode();

    hashCode = hashCode * 8191 + ((isSetLString()) ? 131071 : 524287);
    if (isSetLString())
      hashCode = hashCode * 8191 + lString.hashCode();

    hashCode = hashCode * 8191 + ((isSetLintString()) ? 131071 : 524287);
    if (isSetLintString())
      hashCode = hashCode * 8191 + lintString.hashCode();

    hashCode = hashCode * 8191 + ((isSetMStringString()) ? 131071 : 524287);
    if (isSetMStringString())
      hashCode = hashCode * 8191 + mStringString.hashCode();

    hashCode = hashCode * 8191 + ((isSetAttributes()) ? 131071 : 524287);
    if (isSetAttributes())
      hashCode = hashCode * 8191 + attributes.hashCode();

    hashCode = hashCode * 8191 + ((isSetUnionField1()) ? 131071 : 524287);
    if (isSetUnionField1())
      hashCode = hashCode * 8191 + unionField1.hashCode();

    hashCode = hashCode * 8191 + ((isSetUnionField2()) ? 131071 : 524287);
    if (isSetUnionField2())
      hashCode = hashCode * 8191 + unionField2.hashCode();

    hashCode = hashCode * 8191 + ((isSetUnionField3()) ? 131071 : 524287);
    if (isSetUnionField3())
      hashCode = hashCode * 8191 + unionField3.hashCode();

    return hashCode;
  }
Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/Complex.java