@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface DatastoreIdentity { /** * Strategy to use when generating datastore identities * @return Strategy to use when generating datastore identities */ IdGeneratorStrategy strategy() default IdGeneratorStrategy.UNSPECIFIED; /** Custom strategy to use to generate the value for the identity. * If customStrategy is non-empty, then strategy must be UNSPECIFIED. * @return the custom strategy */ String customStrategy() default ""; /** * Name of sequence to use when the strategy involves sequences * @return Name of sequence to use when the strategy involves sequences */ String sequence() default ""; /** * Name of the column for the datastore identity * @return Name of the column for the datastore identity */ String column() default ""; /** * The column(s) making up the datastore identity. * @return The column(s) making up the datastore identity. */ Column[] columns() default {}; /** Vendor extensions. * @return the vendor extensions */ Extension[] extensions() default {}; }