@Retention(RetentionPolicy.RUNTIME)
@Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD})
public @interface Key
{
  String value() default "";
  
  GeneratorType type() default GeneratorType.AUTOMATIC;
  
  String sequenceName() default "";
  
  int length() default 0;
  
  String functionClassName() default "";
  
  String[] params() default {};
}