code: public String getGeneratedValueAnnotation() {
          if (useSequenceNameShortcut()) {
              return getGeneratedValueForSequenceNameByConfiguration();
          }
  
          if (attribute.getColumnConfig().useConfigForIdGenerator()) {
              // TODO: explain why we do not directly check attribute.getColumnConfig().hasGeneratedValue() in the if statement above.
              return getGeneratedValueAnnotationByConfiguration();
          } else if (attribute.getAutoIncrement() == TRUE && !attribute.isSimpleFk()) {
              // the jdbc driver supports IS_AUTOINCREMENT metadata, great!
              // if it is an fk, we do not want @GeneratedValue because we use instead @MapsId on the association...
              addImport("javax.persistence.GeneratedValue");
              addImport("static javax.persistence.GenerationType.IDENTITY");
              return "@GeneratedValue(strategy = IDENTITY)";
          } else if (attribute.getAutoIncrement() == FALSE && /* 32 length string are special for us */!attribute.isString()) {
              // the jdbc driver supports IS_AUTOINCREMENT metadata, great!
              return "";
          } else {
              // the jdbc driver does not support IS_AUTOINCREMENT
              // fall back to convention
              return getGeneratedValueAnnotationByConvention();
          }
      }
docs: -----------------------------------------