code: @Override
      public boolean isMandatory() {
          if (isSimple()) {
              return (isManyToOne() || isOneToOne()) && getFromAttribute().isNotNullable();
          }
  
          if (isComposite()) {
              if (isManyToOne() || isOneToOne()) {
                  for (Attribute fa : getFromAttributes()) {
                      if (fa.isNotNullable()) {
                          return true; // if one of them is required, we assume the composite relation is required
                      }
                  }
              }
          }
  
          return false;
      }
docs: Note: When x to one has an inverse relation, we never mark it as @NotNull as it would break webflow navigation (indeed, the mandatory value is set
  transparently once the entity is added to the collection) However, in test (XxxGenerator), we must take mandatory into account...