Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space WBRIDGE and version 7.6.0

...

Attributes that are not marked as primary key or search key contain persistent data.

Private Persistent Data

Builder 7.5.0 You can mark such attributes of a persistent state class as private by applying stereotype <<E2EPrivate>>, but we do not recommend this.

...

Refer to Hiding Attributes From Interfaces for more information.

External Persistent Data

Runtime 2019.8 Builder 7.6.0 You can mark attributes of a persistent state class as external by applying stereotype <<External>>. This can speed-up persistent state performance if you have huge data objects (like e.g. big blobs, IDocs or PDFs) that are only used in few transitions.

External persistent data will be handled differently compared to the internal data as comes to the following:

  • External persistent data will be stored separately.
    By specifying a divergent alias in the Persistent State Components you can even store external data to a different database.
  • External persistent data will only be loaded on demand.
    getObjectCopy() will only load external persistent data if tag withExternals is set to true. In self context, you need to load external persistent data with a persistent state adapter action with action loadExternals.
  • External persistent data will only be saved if loaded before.
    Changed external persistent data will be saved at the end of a persistent state transaction, but you need to load them before. So the correct procedure is:
    1. Load external persistent data (even if they are empty).
    2. Apply changes.
    3. Saving will be done automatically at the end of the transaction.

    See also the example at Handling Persistent State Objects With the Persistent State Adapter > Loading External Persistent State Data.

Using external persistent state attributes, you need to respect the following:

  • Stereotype <<External>> can only be applied to strings, blobs, arrays and classes.
  • External attributes cannot be a primary or a search key, so do not mix stereotypes <<External>>, <<PrimaryKey>> and <<SearchKey>>.
  • Multiexcerpt include
    SpaceWithExcerptINTERNAL
    MultiExcerptNamepstate_warning_external_attributes
    PageWithExcerptINTERNAL:_bridge_excerpts

Modifying Persistent State Classes

...