Using Apache Commons EqualsBuilder and HashCodeBuilder for generating HashCode and Equals effectively

This is using Reflection, a bit performance lack.
But your code looks more readable. You can always use IDE generated equals or Guava ones for a trade off.

   @Override
   public String toString() {
      return ToStringBuilder.reflectionToString(this);
   }

   @Override
   public int hashCode() {
      return HashCodeBuilder.reflectionHashCode(this, false);
   }

   @Override
   public boolean equals(Object obj) {
      return EqualsBuilder.reflectionEquals(this, obj, false);
   }