### Question:
ColumnDescriptor { @Override public int hashCode() { return new HashCodeBuilder(23, 43).append(name).append(namePrefix).append(procedureName).append(tableName) .append(dataRowKey).toHashCode(); } ColumnDescriptor();  ColumnDescriptor(String columnName, int jdbcType);  ColumnDescriptor(String columnName, int jdbcType, String javaClass);  ColumnDescriptor(DbAttribute attribute, String tableAlias);  ColumnDescriptor(ObjAttribute objAttribute, DbAttribute dbAttribute, String columnAlias);  ColumnDescriptor(ProcedureParameter parameter);  ColumnDescriptor(String columnName, ResultSetMetaData metaData, int position);  ColumnDescriptor(ResultSetMetaData metaData, int position); DbAttribute getAttribute(); void setAttribute(DbAttribute attribute); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); String getQualifiedColumnName(); int getJdbcType(); String getName(); String getNamePrefix(); void setJdbcType(int i); void setName(String name); String getJavaClass(); void setJavaClass(String string); String getTableName(); void setTableName(String tableName); String getProcedureName(); void setProcedureName(String procedureName); String getDataRowKey(); void setDataRowKey(String dataRowKey); void setIsExpression(boolean isExpression); boolean isExpression();  }### Answer:
@Test public void testHashCode() { ColumnDescriptor column1 = new ColumnDescriptor(); column1.setName("n1"); column1.namePrefix = "np1"; column1.setTableName("t1"); column1.setJdbcType(Types.VARCHAR); ColumnDescriptor column2 = new ColumnDescriptor(); column2.setName("n1"); column2.namePrefix = "np1"; column2.setTableName("t1"); column2.setJdbcType(Types.BOOLEAN); ColumnDescriptor column3 = new ColumnDescriptor(); column3.setName("n1"); column3.namePrefix = "np3"; column3.setTableName("t1"); assertEquals(column1.hashCode(), column2.hashCode()); assertTrue(column1.hashCode() != column3.hashCode()); }