<column>

The <column> element defines a single-value field in the entity.

Note: For a discussion of <column-override>, see Working with attribute and element overrides for details.

Attributes of <column>

The <column> element contains the following attributes:

<column>  attribute                 

Description

Default

allowInitialValueForUpgrade

Internal use.

false

autoincrement

The name of a database sequence used as the source of values for the column. This attribute is applicable only for integer columns, and only for implementations where PolicyCenter relies on the database for the sequence. Do not use the same sequence in more than one autoincrement column. There can be at most one autoincrement column per table.

None

columnName

Optional. If specified, PolicyCenter uses this value as the column name of the corresponding database column. If you do not specify a columnName value, then PolicyCenter uses the value of the name attribute for the database column name.

The columnName attribute must be no more than 30 characters in length. It allows only unaccented Roman letters, numbers, and the underscore character. The first character of the columnName attribute must be a letter. Although the underscore character is allowable here, Guidewire discourages its use.

IMPORTANT All column names on a table must be unique within that table. Otherwise, Guidewire Studio™ displays an error if you verify the resource and the application server fails to start.

None

createhistogram

Whether to create a histogram on the column during an update to the database statistics.

Note: It is possible to override this attribute on an existing column in an extension (*.etx) file using the <column-override> element. You can use the override to turn off an existing histogram or to create one that did not previously exist.

This change does not take effect during an upgrade. The change occurs only if you regenerate statistics for the affected table by using the Guidewire maintenance_tools command.

See also

false

default

Default value given to the field during new entity creation.
Note: For columns with the datetime data type, see Date value syntax for the syntax to use for the value of the default attribute.

None

deprecated

If true, then PolicyCenter marks the item as deprecated in the Data Dictionary and places a Deprecated annotation on it in the Guidewire Studio API Reference.

If you deprecate an item, use the description to explain why.

For more information, see Data entity subelements.

false

desc

A description of the purpose and use of the field.

None

exportable

Unused.

getterScriptability

See Data objects and scriptability for information.

all

ignoreforevents

If you change, add, or remove an entity X that does not generate events, then PolicyCenter searches for all event-generating entity instances that specify X. If PolicyCenter finds any of these event-generating entity instances, it generates Changed events for those entity instances.

To determine what entities reference a non-event-generating entity, PolicyCenter examines the foreign keys and arrays that point to the entity. However, if you set ignoreForEvents to true on an entity that references the non-event-­generating entity, then PolicyCenter ignores that link as it determines what entities specify another entity.

  • At the entity level, the ignoreForEvents attribute means changes to (or addition or removal of) this entity do not cause Changed events to fire for any other entity.
  • At the column level, the ignoreForEvents attribute means changes to this column do not cause the application to generate events.

false

loadable

If true, you can load the field through staging tables. A staging table can contain a column mapping to the field.

true

loadedByCallback

Internal. If true, then the loading code does not use a default value or report a warning if the column is nullable without a default.

false

name

Required. The name of the column on the table and the field, or property, on the entity. PolicyCenter uses this value as the column name unless you specify a columnName attribute. Use this name to access the column in data views, rules, and other areas within PolicyCenter.

IMPORTANT All column names on a table must be unique within that table. Otherwise, Studio displays an error if you verify the resource and the application server fails to start.

None

nullok

Whether the column can contain null values.

In general, this attribute is always true, as many tables include columns that do not require a value at different points in the process.

true

overwrittenInStagingTable

Internal. If true and the entity is loadable, the loader process auto-populates the staging table during import.

IMPORTANT If set to true, do not attempt to populate the table yourself as the loader import process overwrites this table.

false

required

Whether the column is required to be non-null upon initial construction of instances of the entity. See Special behaviors for entity types during instantiation.

false

scalable

Whether this value scales as the effective and expired dates change. This attribute applies only to number-type values. For example, you cannot scale a varchar. Also, it only applies to effective dated types.

false

setterScriptability

See Data objects and scriptability for information.

all

soapnullok

Unused.

supportsLinguisticSearch

Applies only to columns of varchar-based data types.

  • If true, case insensitive searches can be performed on the denormalized version of the column.
  • If false, searches are binary and cannot be performed on a denormalized version of the column.

You cannot use this attribute with an encrypted column.

The setting of this attribute does not affect locale or language used in searches.

See also

false

type

Required. Data type of the column, or field. In the base configuration, Guidewire defines a number of data types and stores their metadata definition files (*.dti) in under configuration > config > datatypes.

Each metadata definition file name is the name of a specific data type. You use one of these data types as the type attribute on the <column> element. Thus, the list of valid values for the type attribute is the same as the set of .dti files in the application datatypes folders.

Each metadata definition also defines the value type for that data type. The value type determines how PolicyCenter treats that value in memory.

The name of the data type is not necessarily the same as the name of its value type. For example, for the bit data type, the name of the data type is bit and the corresponding value type is java.lang.Boolean. Similarly, the data type varchar has a value type of java.lang.String.

The datetime data type is a special case. PolicyCenter persists this data type in the application database using the database data type TIMESTAMP. This corresponds to the value type java.util.Date. In other words:

  • PolicyCenter represents a column whose type is datetime in memory as instances of java.util.Date.
  • PolicyCenter stores this type of value in the database as TIMESTAMP.
Note: Guidewire does not support the unlimiteddecimal data type in a persistent data model configuration.

See also

None

Subelements of <column>

The <column> element contains the following subelements:

<column>  subelement

Description

Default

columnParam

See <columnParam> subelement.

None

fulldescription

See <fulldescription>.

None

localization

See <localization> subelement.

None

tag

See <tag>.

None