Datastore Identity

This kind of identity can be used whenever you do not want to be specific about your own object identity. Object identity is delegated to Signsoft intelliBO using a generic implementation of the primary key class. Please note that this generic primary key class is not usable in other JDO implementations and is not usable in the application.

The most important thing about data store identity is that you don't have to provide a primary key class. Only the following entry is needed in the JDO file:

<class name="Person" identity-type="datastore">
  ...
</class>
With data store identity you also have the choice to manage the identity values by hand or automatically. Fore more information please refer to the chapter "Automatic Object Id Generation". If you do not make any settings, Signsoft intelliBO uses generic primary key fields to identify the Person objects and a SequenceTable-ObjectID-Generator to create them.

The following source code shows the id management there the primary key field is set by hand:

<class name="Person" identity-type="datastore">
  <field name="id" default-fetch-group="true" primary-key="true" />
  <field name="name" default-fetch-group="true" />
  ...
</class>

Rename a column for a hidden primary key field

If the datastore identity is used, Signsoft intelliBO manages the identity of the objects be the means of generic primary key fields. This fields are not connected to any attribute of the class - the so called hidden identity and Signsoft intelliBO creates them with a SequenceTable-ObjectID-Generator.

By default the database column for this "hidden field" is named IBOXFID. If another name is desired, an extension called "key-field" must be used like this:

<extension vendor-name="ssibo" key="jdbc">
   <extension vendor-name="ssibo" key="key-field">
	<extension key="field-name" value="ID" vendor-name="ssibo" />
	<extension key="sql-type" value="INTEGER" vendor-name="ssibo" />
   </extension>
</extension>