public interface org.hibernate.annotations.GeneratorType extends java.lang.annotation.Annotation
  minor version: 0
  major version: 59
  flags: flags: (0x2601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT, ACC_ANNOTATION
  this_class: org.hibernate.annotations.GeneratorType
  super_class: java.lang.Object
{
  public abstract java.lang.Class<? extends org.hibernate.tuple.ValueGenerator<?>> type();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<+Lorg/hibernate/tuple/ValueGenerator<*>;>;

  public abstract org.hibernate.annotations.GenerationTime when();
    descriptor: ()Lorg/hibernate/annotations/GenerationTime;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    AnnotationDefault: org.hibernate.annotations.GenerationTime.ALWAYS:Lorg/hibernate/annotations/GenerationTime;
}
SourceFile: "GeneratorType.java"
    RuntimeVisibleAnnotations: 
      org.hibernate.annotations.ValueGenerationType(generatedBy = Lorg/hibernate/tuple/VmValueGeneration;)
      java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME:Ljava/lang/annotation/RetentionPolicy;)
      java.lang.annotation.Target(value = {java.lang.annotation.ElementType.FIELD:Ljava/lang/annotation/ElementType;, java.lang.annotation.ElementType.METHOD:Ljava/lang/annotation/ElementType;})