code: private boolean isStringProperty(EntityType entityType, Attribute attribute)
      {
          String discriminatorColumn = ((AbstractManagedType) entityType).getDiscriminatorColumn();
  
          if (attribute.getName().equals(discriminatorColumn))
          {
              return true;
          }
  
          return attribute != null ? ((AbstractAttribute) attribute).getBindableJavaType().isAssignableFrom(String.class)
                  || ((AbstractAttribute) attribute).getBindableJavaType().isAssignableFrom(Character.class)
                  || ((AbstractAttribute) attribute).getBindableJavaType().isAssignableFrom(char.class)
                  || ((AbstractAttribute) attribute).getBindableJavaType().isAssignableFrom(Date.class)
                  || ((AbstractAttribute) attribute).getBindableJavaType().isAssignableFrom(java.util.Date.class) : false;
      }
docs: Checks if is string property.
  
  @param m
  the m
  @param fieldName
  the field name
  @return true, if is string property