Annotation Interface HashIndexed


@Target({ANNOTATION_TYPE,FIELD}) @Retention(RUNTIME) public @interface HashIndexed
Annotation for a property that should be used as key for a Hashed Index. If used on a simple property, the index uses a hashing function to compute the hash of the value of the index field. Added to a property of complex type the embedded document is collapsed and the hash computed for the entire object.
 @Document
 public class DomainType {

        @HashIndexed @Id String id;
 }
 
HashIndexed can also be used as meta Annotation to create composed annotations:
 @Indexed
 @HashIndexed
 @Retention(RetentionPolicy.RUNTIME)
 public @interface IndexAndHash {

        @AliasFor(annotation = Indexed.class, attribute = "name")
        String name() default "";
 }

 @Document
 public class DomainType {

        @ComposedHashIndexed(name = "idx-name") String value;
 }
 
Since:
2.2
Author:
Christoph Strobl
See Also: