Legacy Mac OS X Reference Library Apple Developer Connection

EOModel Bundle Format

Availability

Available in WebObjects 5.0 and later.

An EOModel bundle contains property list representations of an EOModel object and its related objects. An EOModel object describes the mapping between classes, and tables and rows in a database. This article describes the files contained in the EOModel bundle, and the properties of objects that appear in these files. Each of the objects corresponds to a class in the Enterprise Object Framework (EOF). EOF applications load EOModel bundles to create the corresponding EOF objects at runtime.

An EOModel bundle is a directory containing specific files. The name of the directory is the name of the model with a .eomodeld suffix—for example, Movies.eomodeld is the directory name when Movies is the name of the model. In fact, tools should derive the name of the model from the name of the bundle.

The EOModel bundle contains the following files:

The following rules apply to property lists in the EOModel bundle:

Also see WebObjects 5.4 Reference for more details on the corresponding EOF classes described in this document. See http://www.apple.com/DTDs/PropertyList-1.0.dtd for a description of the property list format supported by EOF.

EOModel

Availability

Available in WebObjects 5.0 and later.

An EOModel represents a mapping between a database schema and a set of classes based on the entity-relationship model for an application. The model contains a number of EOEntity objects representing the tables (entities) of the database schema. Each EOEntity object has a number of EOAttribute and EORelationship objects representing the properties (columns or fields) of the table (entity) in the database schema. In addition, EOEntity objects may have a number of EOFetchSpecification and EOStoredProcedure objects associated with them. EOEntityIndex objects are used to improve the performance of queries. Figure 1 depicts the relationship between EOModel and its components.

Figure 1  EOModel object diagram

EOModel Component Diagram

An EOModel object is represented as a dictionary in an index.eomodeld file with the property keys listed in Table 1. All keys are optional unless stated otherwise.

Table 1  EOModel dictionary keys

Key

Type

Description

EOModelVersion

string

The version number of this model. This key is required.

Available in WebObjects 5.0 and later.

adaptorName

string

The name of the EOF adaptor used by this model—for example, JDBC. This key is required.

Available in WebObjects 5.0 and later.

connectionDictionary

dictionary

A dictionary of key-value pairs used to connect to a database server—for example, initialize a JDBC or JNDI connection. See Table 2 for a description of these key-value pairs. This key is required.

Available in WebObjects 5.0 and later.

entities

array

An array of entities belonging to this model, where entities are dictionary representations of EOEntity objects with just the className and name keys set.

If the className property is not a fully qualified Java class name, then EOF assumes the class is in the com.webobjects.eocontrol package. If the className property is a Java class that is not defined in any Java or WebObjects package, then there needs to be a corresponding <entityName>.plist file. The <entityName>.plist file must have the same values set for the className and name keys that appear in this file. See “EOEntity” for a description of all entity properties.

This key is required.

Available in WebObjects 5.0 and later.

entitiesWithSharedObjects

array

An array of entity names that specifies the entities whose objects are loaded into the the shared editing context when the application launches. An entity name is the value of an EOEntity object’s name key.

Available in WebObjects 5.0 and later.

internalInfo

dictionary

This dictionary is for internal use by an adaptor.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.4.

storedProcedures

array

An array containing the names of all of the model’s stored procedures. See “EOStoredProcedure” for a description of stored procedure properties.

Available in WebObjects 5.0 and later.

userInfo

dictionary

A dictionary of user data that an application can use to store any auxiliary information as needed.

Available in WebObjects 5.0 and later.

userDictionary

dictionary

This key is deprecated. Use the userInfo key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

Connection Dictionary

Table 2 lists the keys that appear in a model’s connection dictionary.

Table 2  Connection dictionary keys

Key

Value

username

User name used to log in into the database.

Available in WebObjects 5.0 and later.

password

Password used to log in into the database.

Available in WebObjects 5.0 and later.

URL

The URL used to connect to the database of the form: <adaptor type>:<adaptor plug-in>://<database host>/<database name>. For example, set URL to jdbc:openbase://127.0.0.1/WOMovies to connect to the sample OpenBase Movies database. This key is required.

Available in WebObjects 5.0 and later.

driver

The name of the database driver. (Not necessary for the adaptor plug-ins that ship with WebObjects.)

Available in WebObjects 5.0 and later.

plugin

The name of the database plug-in. (Not necessary for the adaptor plug-ins that ship with WebObjects.)

Available in WebObjects 5.0 and later.

adaptorName

The name of the database adaptor. For example, JDBC or JNDI.

Available in WebObjects 5.0 and later.

EOEntity

Availability

Available in WebObjects 5.0 and later.

An EOEntity describes a table in a database and associates a name internal to the Enterprise Objects Framework with an external name by which the table is known to the database. An EOEntity maintains a group of attributes and relationships, which are collectively called properties. These are represented by the EOAttribute and EORelationship classes, respectively.

An EOEntity object is represented as a dictionary in an <entityName>.plist file with the property keys show in Table 3. An EOEntity may have multiple EOEntityIndex and EOFetchSpecification objects described in “EOEntityIndex” and “EOFetchSpecification.”

Table 3  EOEntity dictionary keys

Key

Type

Description

attributes

array

An array of attributes defining this entity where attributes are EOAttribute objects represented as dictionaries. See “EOAttribute” for a description of attribute properties.

Available in WebObjects 5.0 and later.

attributesUsedForLocking

array

An array of attribute names that specifies the attributes that participate in optimistic locking.

Available in WebObjects 5.0 and later.

batchFaultingMaxSize

integer

Integer greater than or equal to 0 that specifies the maximum size of batching.

Available in WebObjects 5.0 and later.

cachesObjects

Boolean

Specifies whether or not the entire table is fetched into memory when the table is fetched. Caching an entity’s objects allows Enterprise Objects to evaluate queries in memory, thereby avoiding round trips to the data source. This is most useful for read-only entities where there is no danger of the cached data getting out of sync with the data in the data source. Set the value to Y to cache objects; otherwise, N.

Available in WebObjects 5.0 and later.

className

string

The name of the class that corresponds to this entity. If you don’t define a custom enterprise object class for an entity, the class name defaults to EOGenericRecord. You should use a fully qualified name but this isn’t strictly required. This value should match the className value that appears in the entities array of the EModel dictionary described in Table 1.

Available in WebObjects 5.0 and later.

classProperties

array

An array of attribute and relationship names that are accessible from instances of this entity. The corresponding class should provide key-value coding accessor methods for all class properties. (The EOGenericRecord class already supports key-value coding.) Any property not appearing in this array is hidden.

Available in WebObjects 5.0 and later.

entityIndexes

array

EOEntityIndex objects that describe an optimization when searching on attributes. See “EOEntityIndex” for details.

Available in WebObjects 5.4 and later.

externalName

string

The name of the table in the data source that corresponds to this entity.

Available in WebObjects 5.0 and later.

externalQuery

string

Any valid SQL statement that you want executed when unqualified fetches are performed on this entity. See EOQualifier in WebObjects 5.4 Reference for details.

Available in WebObjects 5.0 and later.

fetchSpecificationDictionary

dictionary

A dictionary representation of a fetch specification object associated with this entity. The dictionary is empty if this entity has no fetch specifications. This key is required if this entity has no fetch specifications. If this entity has one or more fetch specifications, then this key is omitted and a <entityName>.fspec file is used to represent an array of fetch specifications. See “EOFetchSpecification” for a description of EOFetchSpecification properties.

Available in WebObjects 5.0 and later.

internalInfo

dictionary

This dictionary is for internal use by an adaptor. The dictionary may contain values for the _javaClientClassName and _clientClassPropertyNames keys where _javaClientClassName is a string and _clientClassPropertyNames is an array of attribute names.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.4.

isAbstractEntity

Boolean

Specifies whether or not the entity is abstract . An abstract entity is one that has no corresponding enterprise objects (no object instances) in the application. Set the value to Y if this entity is abstract; otherwise, N.

Available in WebObjects 5.0 and later.

isReadOnly

Boolean

Specifies whether the data that’s represented by this entity can be altered by an application. This does not lock objects at the database level but rather works at a higher level (in the EODatabaseContext class) so that if you try to save changes to data that’s marked as read only, Enterprise Objects refuses the save and throws an exception. Set the value to Y if this entity is read only; otherwise, N.

Available in WebObjects 5.0 and later.

maxNumberOfInstancesToBatchFetch

integer

An integer greater than or equal to 0 that specifies the number of records—instances of this entity—fetched in each batch.

Available in WebObjects 5.0 and later.

name

string

The name an application uses for this entity.

Available in WebObjects 5.0 and later.

parent

string

The parent of this entity, when using inheritance. Must be the name of an EOEntity object.

Available in WebObjects 5.0 and later.

primaryKeyAttributes

array

An array of attribute names that are part of this entity’s primary key. (Multiple attributes can represent a primary key.)

Available in WebObjects 5.0 and later.

restrictingQualifier

string

Used to restrict the records that are fetched for this entity. When you add a qualifier to an entity, it invokes a fetch for that entity to retrieve objects only of the type specified by the qualifier. The value is a format string for an EOQualifier object. See EOQualifier in WebObjects 5.4 Reference for the format of this string.

Available in WebObjects 5.0 and later.

relationships

array

An array of dictionaries where each dictionary is a representation of an EORelationship object. See Table 11 for a description of relationship properties.

Available in WebObjects 5.0 and later.

sharedObjectFetchSpecificationNames

array

An array of fetch specification names. When this EOModel is loaded, the named fetch specifications are fetched against this entity at application launch time and all fetched records are put in the application's EOSharedEditingContext instance.

Available in WebObjects 5.0 and later.

userInfo

dictionary

A dictionary of user data that an application can use to store any auxiliary information as needed.

Available in WebObjects 5.0 and later.

mappingQualifier

string

This key is deprecated. Use the restrictingQualifier key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

isFetchable

Boolean

This key is deprecated. Use the isAbstractEntity key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

userDictionary

dictionary

This key is deprecated. Use the userInfo key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

EOEntityIndex

Availability

Available in WebObjects 5.4 and later.

An EOEntityIndex object describes an optimization when searching on attributes. For object stores that do not maintain their own automatic attribute index—typically, SQL databases—the EOEntityIndex object specifies the index the object store should maintain to optimize queries. Using entity indexes to improve performance is optional.

Table 4  EOEntityIndex dictionary keys

Key

Type

Description

attributes

array

An array of attribute names defining this entity index. An attribute name is a string that correspond to the value of the name property of an EOAttribute object. This property is required.

Available in WebObjects 5.4 and later.

constraint

string

Enumerated value specifying the constraints of the query. Possible values are described in Table 5. The behavior of this setting depends on the database used.

Available in WebObjects 5.4 and later.

indexType

string

Type of index to create. Possible values are described in Table 6.

Available in WebObjects 5.4 and later.

name

string

Unique name for this entity index.

Available in WebObjects 5.4 and later.

order

string

The order of the attributes. Possible values are asc for ascending order and asc for descending order. These values are case insensitive.

Available in WebObjects 5.4 and later.

userInfo

Dictionary

A dictionary of user data that an application can use to store any auxiliary information as needed.

Available in WebObjects 5.4 and later.

Table 5 describes the possible values for the constraint attribute of an EOEntityIndex object. The values are case insensitive.

Table 5  constraint attribute values

Value

Description

distinct

Creates a constraint such that all values in the index must be distinct. An error occurs if you try to add a new row with a key value that matches an existing row. This constraint does not apply to NULL values.

fulltext

Allows full-text searches in the database. Full-text searches can be created only for character-based or string-based attributes.

spatial

Supports OpenGIS geometry SQL extensions.

Table 6 describes the possible values for the indexType attribute of an EOEntityIndex object. The values are case insensitive.

Table 6  indexType attribute values

Value

Description

clustered

The database stores together rows having the same cluster key value. Each distinct cluster key value is stored only once in each data block, regardless of the number of tables and rows in which it occurs. This saves disk space and improves performance for many database operations.

hashed

The database stores together rows that have the same hash key value. The hash value for a row is the value returned by the cluster's hash function. When you create a hash cluster, you can either specify a hash function or use the database internal hash function. Hash values are not actually stored in the cluster, although cluster key values are stored for every row in the cluster.

EOAttribute

Availability

Available in WebObjects 5.0 and later.

An EOAttribute represents a column, field, or property in a database table (entity) and associates an internal name with an external name or expression by which the property is known to the database. The property an EOAttribute represents may be a meaningful value, such as a salary or a name, or it may be an arbitrary value used for identification but with no real-world applicability (ID numbers and foreign keys for relationships fall into this category). An EOAttribute also maintains type information for binding values to the instance variables of objects. In addition, EOAttributes are used to represent arguments for EOStoredProcedures.

A dictionary representation of an EOAttribute contains the keys shown in Table 7.

Table 7  EOAttribute dictionary keys

Attribute

Type

Description

adaptorValueConversionClassName

string

The name of the Java class used at runtime to invoke the conversion method. This value is optional. By default, the attribute value class is used.

Available in WebObjects 5.4 and later.

adaptorValueConversionMethodName

string

The name of a method that is used at runtime to convert a custom class into one of the primitive types that the adaptor knows how to manipulate: String, Number, NSData, or NSTimestamp.

Available in WebObjects 5.0 and later.

allowsNull

Boolean

Specifies whether or not this attribute can have a null value. A save operation fails if an enterprise object has a null value for an attribute that does not allow a null value. Set the value to Y if this attribute allows a null value; otherwise, N.

Available in WebObjects 5.0 and later.

className

string

The fully qualified Java class name of the attribute—for example, java.lang.String.

Available in WebObjects 5.0 and later.

columnName

string

The name of the column in the data source that corresponds to this attribute.

Available in WebObjects 5.0 and later.

definition

string

A key path that represents a flattened attribute from another entity. For example, if the Media entity has a to-one relationship to Event, and Event has a startDate attribute, you can add a startDate attribute to Media and specify event.startDate as the definition. Consequently, startDate in Media will be the same as startDate in Event. Required if this is a flattened attribute; otherwise, optional.

Available in WebObjects 5.0 and later.

externalType

string

The data type of the attribute as it’s understood by the data source.

Available in WebObjects 5.0 and later.

factoryMethodArgumentType

string

The type of argument that should be passed to the factory method that is invoked by this EOAttribute object to create an attribute value for a custom class. Possible values areval EOFactoryMethodArgumentIsBytes, EOFactoryMethodArgumentIsData, and EOFactoryMethodArgumentIsString. See EOAttribute in WebObjects 5.4 Reference for details.

Available in WebObjects 5.0 and later. Value of EOFactoryMethodArgumentIsNSString is deprecated in WebObjects 5.4.

internalInfo

dictionary

This dictionary is for internal use by an adaptor.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.4.

isReadOnly

Boolean

Specifies whether or not the value of this attribute can be modified. Set the value to Y if this attribute is read only; otherwise, N.

Available in WebObjects 5.0 and later.

name

string

The name of this attribute as it appears in an application and in the enterprise objects.

Available in WebObjects 5.0 and later.

precision

integer

An integer greater than or equal to 0 that indicates the precision of the database representation of attributes with a numeric type—for example, Number or java.math.BigDecimal.

Available in WebObjects 5.0 and later.

prototypeName

string

A prototype attribute from which this attribute derives its characteristics.

Available in WebObjects 5.0 and later.

readFormat

string

A format string used to appropriately format this attribute's value when it is read from the database.

Available in WebObjects 5.0 and later.

scale

integer

Indicates the scale of the database representation for attributes with a numeric type—for example, Number or java.math.BigDecimal.

Available in WebObjects 5.0 and later.

serverTimeZone

string

The time zone assumed for dates in the database server, or the local time zone if one hasn't been set. An EOAdaptorChannel automatically converts dates between the time zones used by the server and the client when fetching and saving values. This property applies only to attributes that represent dates. See the Java documentation for the TimeZone for details.

Available in WebObjects 5.0 and later.

userInfo

dictionary

A dictionary of user data that an application can use to store any auxiliary information as needed.

Available in WebObjects 5.0 and later.

valueClassName

string

This key is deprecated. Use the className key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

valueFactoryMethodName

string

The name of the factory method used for creating a custom class value.

Available in WebObjects 5.0 and later.

valueType

string

The format for custom value types—for example, i or d, which the JDBC adaptor uses to communicate with the data source. See “Setting Value Types” for possible values.

Available in WebObjects 5.0 and later.

width

integer

An integer greater than or equal to 0 that indicates the maximum length (in bytes) for values mapped to this attribute.

Available in WebObjects 5.0 and later.

writeFormat

string

A format string used to format this attribute's value for writing to the database.

Available in WebObjects 5.0 and later.

updateFormat

string

This key is deprecated. Use the writeFormat key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

insertFormat

string

This key is deprecated. Use the writeFormat key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

selectFormat

string

This key is deprecated. Use the readFormat key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

externalName

string

This key is deprecated. Use the columnName key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

userDictionary

dictionary

This key is deprecated. Use the userInfo key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

maximumLength

integer

This key is deprecated. Use the width key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

Setting Value Types

Table 8 describes the possible numeric value types for the EOAttribute valueType attribute.

Table 8  Numeric value types

Value

Type

B

java.math.BigDecimal

b

java.lang.Byte

c

java.lang.Boolean

d

java.lang.Double

f

java.lang.Float

i

java.lang.Integer

l

java.lang.Long

s

java.lang.Short

Table 9 describes the possible string value types for the EOAttribute valueType attribute.

Table 9  String value types

Value

Type

Description

unknown

The JDBC adaptor uses setString if the text is less than the database’s advertised maximum varchar length and uses setCharacterStream if it is too large. If the database fails to advertise a maximum length, the default is 256 characters.

C

char stream

The JDBC adaptor uses setCharacterString regardless of the text’s length.

c

char trim string

The JDBC adaptor generates SQL using RTRIM to strip off all trailing spaces.

E

encoded bytes

The JDBC adaptor converts the text into raw UTF-8 bytes and then uses setBinaryStream to save them in a binary-typed column in the database.

S

string

The JDBC adaptor uses setString regardless of the text’s length.

Table 10 describes the possible value types for the EOAttribute valueType attribute when the value class is NSTimestamp.

Table 10  Timestamp value types

Value

Type

Description

unknown

The JDBC adaptor uses getObject on the java.sql.ResultSet object and setObject on the java.sql.PreparedStatement object. It assumes the database can provide a value compatible with a java.sql.Timestamp object.

D

java.util.Date

The JDBC adaptor uses setDate and getDate.

M

coerce date

Use this in place of D if using Microsoft SQL Server. Supports only java.sql.Date.

t

java.sql.Time

The JDBC adaptor uses getTime and setTime.

T

java.sql.Timestamp

The JDBC adaptor uses getTimestamp and setTimestamp.

EORelationship

Availability

Available in WebObjects 5.0 and later.

An EORelationship object describes an association between two entities, based on attributes of those two entities. If you define relationships in an EOModel, the relationships defined in the database are automatically resolved as enterprise objects are fetched—the target objects of relationships are fetched along with the source objects.

A dictionary representation of an EORelationship object contains the keys show in Table 11.

Table 11  EORelationship dictionary keys

Attribute

Type

Description

definition

string

A key path that represents a flattened relationship from another entity. Required if this is a flattened relationship; otherwise, optional.

Available in WebObjects 5.0 and later.

deleteRule

string

The rule to use when the source object of a relationship is deleted. The options are nullify, cascade, deny, or no action as described in Table 12.

Available in WebObjects 5.0 and later.

destination

string

The name of an entity that is the destination of this relationship.

Available in WebObjects 5.0 and later.

internalInfo

dictionary

This dictionary is for internal use by an adaptor.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.4.

isMandatory

Boolean

Indicates whether or not this relationship is mandatory. Enterprise Objects will not save an enterprise object that does not have all mandatory relationships set. Set the value to Y if this relationship is mandatory; otherwise, N.

Available in WebObjects 5.0 and later.

isToMany

Boolean

Indicates whether this relationship is to-many or to-one. A to-many relationship has multiple targets or destination objects, and a to-one relationship has a single target. Set the value to Y if the relationship is to-many; otherwise, N.

Available in WebObjects 5.0 and later.

joinSemantic

string

Specifies the join semantics of this relationship. Note that not all join semantics are supported by all database servers. See Table 13 for a description of join semantics.

Available in WebObjects 5.0 and later.

joins

array

An array of dictionaries representing joins. Each dictionary contains a sourceAttribute and destinationAttribute key where sourceAttribute, an attribute belonging to the source object, is joined with destinationAttribute, an attribute belonging to the destination object.

Available in WebObjects 5.0 and later.

name

string

The name of this relationship as it appears in an application and in the enterprise objects.

Available in WebObjects 5.0 and later.

numberOfToManyFaultsToBatchFetch

integer

An integer greater than or equal to 0 that indicates the number of to-many faults that are triggered at one time.

Available in WebObjects 5.0 and later.

ownsDestination

Boolean

Indicates whether or not this relationship’s source owns its destination objects. When a source object owns its destination objects, the destination objects are removed from the database when the source object is removed. Ownership implies that an owned object cannot exist without its owner. Set the value to Y if this relationship owns its destination object; otherwise, N.

Available in WebObjects 5.0 and later.

propagatesPrimaryKey

Boolean

Specifies whether or not the primary key of the source entity is propagated to newly inserted objects in the destination of the relationship. That is, when inserting objects that are the destination of the relationship, this option suppresses primary key generation for the destination entity and instead uses the source object’s primary key as the primary key for the newly inserted destination object. (Typically, for convenience, you propagate the primary key when the source object owns the destination object.) Set the value to Y if the relationship propagates the primary key; otherwise, N.

Available in WebObjects 5.0 and later.

userInfo

dictionary

A dictionary of user data that an application can use to store any auxiliary information as needed.

Available in WebObjects 5.0 and later.

dataPath

string

This key is deprecated. Use the definition key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

userDictionary

dictionary

This key is deprecated. Use the userInfo key instead.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.3.

Table 12 lists the delete values that can be specified for the deleteRule keys. The values are case insensitive.

Table 12  Delete rules

Rule

Description

EODeleteRuleNullify

All destination objects are disassociated from the source object by removing references to them.

Available in WebObjects 5.0 and later.

EODeleteRuleCascade

All objects that are the destination of this relationship are deleted.

Available in WebObjects 5.0 and later.

EODeleteRuleDeny

If there are any destination objects in this relationship, refuses the deletion.

Available in WebObjects 5.0 and later.

EODeleteRuleNoAction

The destination object is deleted but not back references to the source object.

Available in WebObjects 5.0 and later.

Table 13 lists the join semantics that can be specified for the joinSemantic keys.

Table 13  Join semantics

Semantic

Description

EOInnerJoin

Results are given only for destinations of the join relationship that have values other than null.

Available in WebObjects 5.0 and later.

EOFullOuterJoin

Results are given for all source records, regardless of the values of the relationships.

Available in WebObjects 5.0 and later.

EOLeftOuterJoin

Results preserve rows in the left (source) table, keeping them even if there's no corresponding row in the right table.

Available in WebObjects 5.0 and later.

EORightOuterJoin

Results preserve rows in the right (destination) table.

Available in WebObjects 5.0 and later.

EOFetchSpecification

Availability

Available in WebObjects 5.0 and later.

An EOFetchSpecification object collects the criteria needed to select and order a group of records or enterprise objects, whether from an external repository such as a relational database or an internal store such as an EOEditingContext object.

A dictionary representation of an EOFetchSpecification object contains the keys shown in Table 14.

Table 14  EOFetchSpecification dictionary keys

Attribute

Type

Description

entityName

string

The name of the entity to be fetched. This key is required.

Available in WebObjects 5.0 and later.

fetchLimit

integer

An integer greater than or equal to 0 indicating the maximum number of objects to fetch.

Available in WebObjects 5.0 and later.

hints

dictionary

A dictionary of hints that an EODatabaseContext or other object can use to optimize or alter the results of a fetch.

Available in WebObjects 5.0 and later.

isDeep

Boolean

Specifies whether or not this fetch specification is deep—if the fetch should include subentities of this entity. Set the value to Y if this fetch specification is deep; otherwise, N. By default, fetch specifications are deep.

Available in WebObjects 5.0 and later.

locksObjects

Boolean

Specifies whether or not this fetch specification locks objects. Set the value to Y if this fetch specification locks objects; otherwise, N. By default, fetch specifications do not lock objects.

Available in WebObjects 5.0 and later.

prefetchingRelationshipKeyPaths

array

An array of key paths that identifies relationships that should be fetched along with the objects specified by this fetch specification. For example, when fetching Listing objects, you can pre-fetch associated listingFeatures and suggestedCustomers relationships. This tells Enterprise Objects to retrievelistedFeatures and suggestedCustomers relationships along with the Listing itself, as opposed to creating faults for the objects in those relationships. Although prefetching increases the initial fetch cost, it can improve overall performance by reducing the number of round trips made to the data source.

Available in WebObjects 5.0 and later.

promptsAfterFetchLimit

Boolean

Specifies how Enterprise Objects should behave when the fetch limit is reached. If Y, the user is prompted about whether to continue fetching after the maximum has been reached. Otherwise, Enterprise Objects simply stops fetching when it reaches the limit.

Available in WebObjects 5.0 and later.

qualifier

string

A formatted string for an EOQualifier object that indicates which records or objects the fetch specification should fetch. See EOQualifier in WebObjects 5.4 Reference for the format of this string.

Available in WebObjects 5.0 and later.

rawRowKeyPaths

array

An array of attribute key paths that should be fetched as raw data and returned as an array of dictionaries (instead of the normal result of objects).

Available in WebObjects 5.0 and later.

refreshesRefetchedObjects

Boolean

A Boolean value of Y specifies that existing objects affected by this fetch specification should be overwritten with newly fetched values after they are updated or changed. If N, objects don’t refresh—existing objects aren’t updated when their data is refetched (the fetched data is simply discarded).

Available in WebObjects 5.0 and later.

requiresAllQualifierBindingVariables

Boolean

Specifies whether a missing value for a qualifier variable is ignored or whether Enterprise Objects requires that each qualifier variable have a value assigned to it. If Y, an exception is thrown during variable substitution if a missing value is present. If N, any qualifier expressions for which there are no variable bindings are pruned from the qualifier.

Available in WebObjects 5.0 and later.

sortOrderings

array

An array of attribute names used to sort the destination objects of this relationship when fetched from the database The attributes must be attributes of the destination object and are applied in the order as they appear in this array.

Available in WebObjects 5.0 and later.

usesDistinct

Boolean

Specifies whether or not duplicate destination objects in a to-many relationship are removed after fetching. Set the value to Y if duplicate objects should be removed; otherwise, N.

Available in WebObjects 5.0 and later.

EOStoredProcedure

Availability

Available in WebObjects 5.0 and later.

An EOStoredProcedure dictionary contains the keys listed in Table 15.

Table 15  EOStoredProcedure dictionary keys

Attribute

Type

Description

name

string

The name of this stored procedure as it is defined in the EOModel object.

Available in WebObjects 5.0 and later.

externalName

string

The external name of this stored procedure that is used by the database.

Available in WebObjects 5.0 and later.

userInfo

dictionary

A dictionary of user data that an application can use to store any auxiliary information as needed.

Available in WebObjects 5.0 and later.

internalInfo

dictionary

This dictionary is for internal use by an adaptor.

Available in WebObjects 5.0 and later. Deprecated in WebObjects 5.4.

arguments

array

An array of attribute names that are the arguments for this stored procedure.

Available in WebObjects 5.0 and later.



Last updated: 2008-11-19

Did this document help you? Yes It's good, but... Not helpful...