Annotation Type DbJson


@Retention(RUNTIME) @Target(FIELD) public @interface DbJson
Specify a property holding JSON content.

By default the content will be stored in a DB Clob except on Postgres where DB JSON type is used.

Example:



 // Store as JSON on Postgres or Clob on other databases
 @DbJson
 Map<String, Object> content;

 

Example with JSONB storage



 // Store as JSONB on Postgres or Clob on other databases
 @DbJson(storage = DbJsonType.JSONB)
 Map<String,Object> content;

 
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    int
    For VARCHAR storage specify the column length (defaults to 3000).
    The mutation detection mode to use.
    The name of the column (Optional).
    Specify the database type used to store the JSON content.
  • Element Details

    • name

      String name
      The name of the column (Optional).
      Default:
      ""
    • mutationDetection

      MutationDetection mutationDetection
      The mutation detection mode to use.

      This is used to handle if and how it is detected that the json property has been mutated and hence should be included in an update.

      Default:
      DEFAULT
    • length

      int length
      For VARCHAR storage specify the column length (defaults to 3000).
      Default:
      0
    • storage

      DbJsonType storage
      Specify the database type used to store the JSON content.
      Default:
      JSON