code: public String foreignKeyColumnName(String propertyName, String propertyEntityName, String propertyTableName,
        String referencedColumnName) {
      String header = null == propertyName ? propertyTableName : unqualify(propertyName);
      if (header == null) { throw new AssertionFailure("NamingStrategy not properly filled"); }
      if (isManyToOne()) {
        header = addUnderscores(header);
      } else {
        header = addUnderscores(propertyTableName);
      }
      return header + "_" + referencedColumnName;
  
    }
docs: Return the property name or propertyTableName