private boolean hasSameBusinessSignature(HibernateEntity<TId> other) {
   boolean notNull = (other != null);
   int hash = (getId() != null) ? HashTool.compute(getId()) : hashCode();
   if (notNull) {
     int otherHash = (other.getId() != null) ? HashTool.compute(other.getId()) : other.hashCode();
     return hash == otherHash;
   }
   return false;
 }