Autogenerated IDs in an entity
Learn about the unique IDs you can have Reltio automatically generated for simple and nested attributes.
The modifications for auto-generated IDs for reference attributes are described in the subsequent section. The following table describes how UUID and sequential IDs are generated.
Parameter | Required | Description |
---|---|---|
name | yes | Name of the generator. It must be unique across the environment. |
type | yes | Can be 'UUID' or 'SEQUENTIAL'. |
rangestart | no | The starting value in the sequence. If omitted, the default is 0. Can be applied only to SEQUENTIAL generators. |
step | no | The increment. If omitted, the default is 1. Can be applied only to SEQUENTIAL generators. |
uuidversion | yes, if type is UUID | The version of UUIDs. Must be 4 (random UUIDs). Can be applied only to UUID generators. |
The feature uses the following properties:
Option | Applies To | Description | Default Value |
---|---|---|---|
autoGenerated | Attribute/Source | If true , the value of attribute/crosswalk will be
auto-generated. Use this to enable the feature. | False |
generateIfEmpty | Attribute | If true , the value will be generated only if a value is not sent in the request. Note: You must send an empty string to generate a value. A null value is not considered empty string and will not generate a value. . | False |
generateIfNotEmpty | Attribute | If true , the value will be generated even if a value is
sent in the request. | True |
generatedValueUniqueForCrosswalk | Attribute | If true , existing value by crosswalk will be reused
instead of generating a new one. | False |
generator | Attribute/source | The generator name. | None |
autoGenerationPattern | Simple attribute/source | {value} will be substituted by generated
value. | None |
autoGenerationNestedPattern | Nested attribute | Used to specify auto-generated patterns for sub-attributes | None |
uniqueGeneratedValuePerEntityPerRequest | Entity | If true , only one value will be generated for all
auto-generated attribute/crosswalk values per entity per
request. | False |
dataProvider=false
option.Here is the behavior for the obvious combinations of Boolean settings and the existing data.
generateIfEmpty = True and generatedValueUniqueForCrosswalk= True:
Value was Sent | Value by Crosswalk Exists | Reaction |
---|---|---|
Yes | Yes | Reuse existing value. |
No | Generate new value and use it instead of the value that was sent. | |
No | Yes | Reuse existing value. |
No | Generate new value. |
generateIfEmpty = True
Value was Sent | Value by Crosswalk Exists | Reaction |
---|---|---|
Yes | Doesn't matter | Generate new value and use it instead of the value that was sent. |
No | Doesn't matter | Generate new value. |
generatedValueUnique for Crosswalk = True
Value was Sent | Value by Crosswalk Exists | Reaction |
---|---|---|
Yes | Yes | Reuse existing value. |
No | Generate new value and use it instead of the value that was sent. | |
No | Doesn't Matter | Don't generate a value. |
None
(Neither Boolean setting set to True)
Value was Sent | Value by Crosswalk Exists | Reaction |
---|---|---|
Yes | Doesn't Matter. | Generate new value and use it instead of value that was sent |
No | Doesn't Matter | Don't generate a value |
If you specify the value for any auto generated field in the above table as null
, it is treated as not-empty. If you have specified the null value, but also want to auto-generate the value, ensure the generateIfNotEmpty field is true
.