Annotation Interface Document


@Inherited @Retention(RUNTIME) @Target(TYPE) public @interface Document
Annotation to identify a domain object to be persisted into a ArangoDB document collection.
Author:
Mark Vollmary
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    If set to true, then it is allowed to supply own key values in the _key attribute of a document.
    The name of the document collection
    boolean
    If true, create a system collection.
    int
    Increment value for autoincrement key generator.
    int
    Initial offset value for autoincrement key generator.
    com.arangodb.entity.KeyType
    Specifies the type of the key generator.
    int
    (The default is 1): in a cluster, this value determines the number of shards to create for the collection.
    int
    (The default is 1): in a cluster, this attribute determines how many copies of each shard are kept on different DBServers.
    boolean
    If true the collection is created as a satellite collection.
    (The default is [ "_key" ]): in a cluster, this attribute determines which document attributes are used to determine the target shard for documents.
    Alias for collection().
    boolean
    If true then the data is synchronized to disk before returning from a document create, update, replace or removal operation.
  • Element Details

    • value

      @AliasFor("collection") String value
      Alias for collection().

      Intended to be used instead of collection() when no other attributes are needed — for example: @Document("collection") instead of @Document(collection = "collection").

      Default:
      ""
    • collection

      @AliasFor("value") String collection
      The name of the document collection
      Default:
      ""
    • replicationFactor

      int replicationFactor
      (The default is 1): in a cluster, this attribute determines how many copies of each shard are kept on different DBServers. The value 1 means that only one copy (no synchronous replication) is kept. A value of k means that k-1 replicas are kept. Any two copies reside on different DBServers. Replication between them is synchronous, that is, every write operation to the "leader" copy will be replicated to all "follower" replicas, before the write operation is reported successful. If a server fails, this is detected automatically and one of the servers holding copies takes over, usually without an error being reported.
      Default:
      -1
    • satellite

      boolean satellite
      If true the collection is created as a satellite collection. In this case replicationFactor() is ignored.
      Default:
      false
    • waitForSync

      boolean waitForSync
      If true then the data is synchronized to disk before returning from a document create, update, replace or removal operation. (default: false)
      Default:
      false
    • shardKeys

      String[] shardKeys
      (The default is [ "_key" ]): in a cluster, this attribute determines which document attributes are used to determine the target shard for documents. Documents are sent to shards based on the values of their shard key attributes. The values of all shard key attributes in a document are hashed, and the hash value is used to determine the target shard. Note: Values of shard key attributes cannot be changed once set. This option is meaningless in a single server setup.
      Default:
      {}
    • numberOfShards

      int numberOfShards
      (The default is 1): in a cluster, this value determines the number of shards to create for the collection. In a single server setup, this option is meaningless.
      Default:
      -1
    • isSystem

      boolean isSystem
      If true, create a system collection. In this case collection-name should start with an underscore. End users should normally create non-system collections only. API implementors may be required to create system collections in very special occasions, but normally a regular collection will do. (The default is false)
      Default:
      false
    • allowUserKeys

      boolean allowUserKeys
      If set to true, then it is allowed to supply own key values in the _key attribute of a document. If set to false, then the key generator will solely be responsible for generating keys and supplying own key values in the _key attribute of documents is considered an error.
      Default:
      false
    • keyType

      com.arangodb.entity.KeyType keyType
      Specifies the type of the key generator. The currently available generators are traditional and autoincrement.
      Default:
      traditional
    • keyIncrement

      int keyIncrement
      Increment value for autoincrement key generator. Not used for other key generator types.
      Default:
      -1
    • keyOffset

      int keyOffset
      Initial offset value for autoincrement key generator. Not used for other key generator types.
      Default:
      -1