Map a ColdFusion component

The cfcomponent tag defines a persistent CFC by setting persistent="true". It allows you to specify various other mappings for a persistent CFC.

Syntax

<cfcomponent 
    persistent="true|[false]" 
    entityname="entity_name" 
    table="table_name" 
    schema="schema" 
    catalog="catalog" 
    dynamicInsert="true|[false]" 
    dynamicupdate="true|[false]" 
    readonly="true|[false]" 
    selectbeforeupdate="true|[false]" 
    discriminatorvalue="discriminator_value" 
    discriminatorcolumn="discriminator_column" 
    joincolumn="join_column" 
    cacheuse="read-only|read-write|nonstrict-read-write|transactional|[none]" 
    cachename="cache_name" 
    batchsize="batchsize" 
    optimisticLock="none|[version]|dirty|all" 
    lazy="[true]|false">

Attributes

Attribute

Req/Opt

Default

Description

accessor

true

 

If set to false, ColdFusion ORM does not generate the implicit getters and setters.

attribute

optional

true

If the attribute is set to “false” at the component level, then the implicit getters and setters for the individual properties are ignored.

batchsize

Optional

1

An integer value that specifies the number of records to be retrieved at a single instance.

For details, see Lazy Loading.

cachename

optional

 

Use this value to specify the name of the secondary cache. See Caching for details.

cacheuse

optional

none

Use this value to specify the caching strategy to be used for caching this component's data in the secondary cache. See Caching for details.

catalog

Optional

 

Used to specify the database catalog name.

discriminatorcolumn

optional

 

Use this attribute to define the discriminator column to be used in inheritance mapping. See Inheritance mapping for details.

discriminatorvalue

optional

 

Use this attribute to define the discriminator value to be used in inheritance mapping. See Inheritance mapping for details.

dynamicInsert

Optional

false

Whether INSERT SQL is to be generated at runtime:
  • true

  • false

Only those columns whose values are not null are included in the SQL.

dynamicupdate

Optional

false

Whether UPDATE SQL is to be generated at runtime:
  • true

  • false

Only those columns that have changed values are included in the SQL.

entityname

Optional

Name of the CFC

Specifies the name of the entity. Entity name is the name used by the ORM related functions to work with the persistent CFC. If entityname is not specified, then the CFC name is taken as the entityname. The entityname must be unique in the application.

joincolumn

optional

 

Use this attribute to define the join column for inheritance mapping. See Inheritance mapping for details.

lazy

Optional

true

Whether loading is to be done lazily:
  • true

  • false

For details, see Lazy Loading.

optimisticLock

Optional

version

Determines the locking strategy.

It can be any one of the following four values:
  • none

  • version

  • dirty

  • all

For details, see Optimistic locking.

persistent

Required

false

Whether the CFC is a persistent CFC:
  • true

  • false

readonly

Optional

false

Whether the table is read-only:
  • true

  • false

schema

Optional

 

Used to specify the schema name.

selectbeforeupdate

Optional

false

Whether Hibernate should never perform an SQL UPDATE unless it is certain that an object is actually modified:
  • true

  • false

In cases when a transient object is associated with a new session using update(), Hibernate performs an extra SQL SELECT to determine if an UPDATE is actually required.

table

Optional

Name of the CFC

Specifies the name of the database table to which the CFC maps.