code: public M findByIdLoadColumns(Object[] idValues, String columns) {
  		Table table = _getTable();
  		if (table.getPrimaryKey().length != idValues.length)
  			throw new IllegalArgumentException("id values error, need " + table.getPrimaryKey().length + " id value");
  		
  		Config config = _getConfig();
  		String sql = config.dialect.forModelFindById(table, columns);
  		List<M> result = find(config, sql, idValues);
  		return result.size() > 0 ? result.get(0) : null;
  	}
docs: Find model by composite id values and load specific columns only.
  <pre>
  Example:
  User user = User.dao.findByIdLoadColumns(new Object[]{123, 456}, "name, age");
  </pre>
  @param idValues the composite id values of the model
  @param columns the specific columns to load