code: protected <Y> List<T> getListByAttribute(QueryPathProvider<T, Y> provider, Y value) {
          return getDatabaseSupport().getListByAttribute(getEntityClass(), provider, value);
      }
docs: Executes a query for all entities whose path value is the same as the
  given target value. The path is provided by the {@link QueryPathProvider}
  and is followed through to get the resulting value. That resulting value
  is compared to the given target value in the query.
  
  @param provider provides the path from the entity to the target
  attribute/column.
  @param value the target value to compare with the resulting attribute
  value.
  @param <Y> the type of the target value and resulting attribute/column
  value.
  
  @return a list of entities that match the given criteria.