EclipseLink checks each project, descriptor, and mapping to ensure that you have properly defined the required settings. Errors and warnings are displayed in the Problems window of the EclipseLink Workbench.

Literal argument of expression [line number] on query [query name] is invalid. The format is illegal.

Cause: You attempted to use an invalid argument on a query.

Action: Use a valid format.

220

An aggregate shared by multiple source descriptors cannot have one-to-many or many-to-many mappings.

Cause: You attempted to create multiple one-to-many and many-to-many, or one-to-one mappings in which the target is the aggregate. Aggregate descriptors that are shared by multiple source descriptors cannot have mappings that contain a target object that references the descriptor.

Cause: You did not specify a primary key for each database table. When importing tables from a database into EclipseLink Workbench, the primary key information will be retained only if the JDBC driver supports the getPrimaryKeys method.

The number of primary keys does not match the number of primary keys on the parent.

Cause: In an inheritance hierarchy, the child class does not have the same number of primary keys as the parent class.

Action: Ensure that the parent and child class have the same number of primary keys on the descriptor's Descriptor Info tab. See Configuring Associated Tables.

234

The primary keys do not match parent's primary keys.

Cause: In an inheritance hierarchy, the child's primary key(s) does not match the root's primary key(s).

Action: Ensure that each child's Primary Key on the Descriptor Info tab matches the parent's primary key. Ensure that the parent and child class have the same primary keys on the descriptor's Descriptor Info tab. See Configuring Associated Tables.

235

The following primary field field does not have writable mappings: [field name].

Cause: You attempted to have multiple mappings write to the same database field.

Cause: The query key is missing an associated database field. Each query key must be associated with a database field.

Action: On the Query Keys tab, use the Field option to select a database field for the query key. See Configuring Query Keys.

247

The database field selected for query key [query key] does not exist on this descriptor's associated tables.

Cause: The database field selected for this query key does not exist on this descriptor's associated tables. Each database field associated with a query key must exist on database table associated with the query key's descriptor.

Action: You must either change the database field associated with the query key, or associate the descriptor with a database table that includes the database field associated with the query key. See Configuring Query Keys.

248

The expression [line number] on query [query name] is invalid because a parameter has not been specified.

Cause: One of the arguments in the query expression is missing or invalid.

Action: Edit the query and ensure that all query keys and parameters have been specified. See Configuring Query Keys.

249

The expression [line number] on query [query name] is invalid because a query key has not been specified.

Cause: One of the arguments in the query expression is missing or invalid.

Action: Edit the query and ensure that all query keys and parameters have been specified. See Configuring Query Keys.

250

The expression [line number] on query [query name] is invalid because the chosen query key is not a valid mapping type in an expression.

Cause: One of the arguments in the query expression is invalid.

Action: Edit the query and ensure that all query keys and parameters have been specified. See Configuring Query Keys.

251

The expression [line number] on query [query name] is invalid. When querying on a reference mapping, only unary operators (Is Null, Not Null) are supported.

Cause: You created an expression node that includes a reference mapping with an invalid operator.

Action: On the Expression Builder dialog box, select the node and change the Operator field to IS NULL or NOT NULL.

252

The query [query name] has no attribute chosen for the ordering attribute at index [index].

Cause: You added an interface alias to a descriptor, but did not select an amendment method.

Action: Complete the Interface Alias tab.

325

The inheritance hierarchy originating in this descriptor cannot contain both aggregate and nonaggregate child descriptors.

Cause: Aggregate and class descriptors cannot be in the same inheritance hierarchy.

Action: Ensure that the inheritance hierarchy contains either aggregate or nonaggregate children, but not both.

326

The inheritance hierarchy originating in this descriptor cannot contain both root and composite child descriptors.

Cause: There is a mixture of root and composite descriptors among the descendents of this descriptor.

Action: Make all descendents of this descriptor the same type by either making them all root, or making them all composite. You can do this by removing the differing descriptor from the hierarchy, or changing their type to be consistent with the other descriptors in the hierarchy.

330

The returning policy insert fields do not exist on this descriptor's associated tables: [field name]

Cause: The field you selected on the descriptor's Returning tab does not exist on the database table associated with the descriptor.

Action: Select a different database table in the Insert area of the descriptor's Returning tab.

331

The returning policy update field [field name] does not exist on this descriptor's associated tables.

Cause: The field you selected on the descriptor's Returning tab does not exist on the database table associated with the descriptor.

Action: Select a different database table in the Update area of the descriptor's Returning tab.

350

Descriptors with Unknown Primary Keys must use sequencing.

Cause: Unknown Primary Key Class is selected for this descriptor, but the descriptor does not use sequencing.

Action: Change the descriptor so that it uses sequencing, or so that it no longer uses an unknown primary key class.

Mapping Errors (400 – 483)

This section lists EclipseLink Workbench mapping errors.

400

Method accessors have not been selected.

Cause: You selected Use Method Accessing for a mapping, but you did not select a method.

The [get/set access method] method for this mapping's method accessing field is no longer visible to this descriptor.

Cause: You changed the class hierarchy within the project, causing the method access type (get or set) to no longer be visible to the class.

Action: Ensure that the selected method is visible to the class.

403

Mappings for EJB 2.0 CMP descriptors that use Value Holder Indirection must not use method accessing.

Cause: You cannot use method accessing on mappings for EJB 2.0 CMP descriptors that use ValueHolder Indirection.

Action: Because EJB attributes are code-generated, reference mappings should not be set to use method access. The attributes are code-generated to be of type ValueHolder but the abstract methods are defined to return the local interface type of the related bean.

404

Mapping references a write-lock field, but it is not read-only.

Cause: You specified a locking policy for a descriptor, but one of the attribute mappings is not read-only.

Action: Select the Read Only option on the mapping's General tab.

410

No direct field is specified.

Cause: For direct collection mappings, you must specify the direct collection information.

Action: Select a Target Table and Direct Field that the direct collection specifies.

415

No direct key field is specified.

Cause: For direct map mappings, you must specify a direct key field in the reference table that stores the primitive data value of the map key.

Cause: You created a direct-to-field or type conversion mapping without selecting a database field.

Action: For attributes with direct-to-field mappings, you must specify a Database Field on the mapping's General tab. For attributes with type conversion mappings, you must specify a Database Field on the mapping's General tab.

421

The selected database field does not exist on this descriptor's associated tables.

Cause: The database field mapped to an attribute is not included in the table associated with the attribute's descriptor.

The specified relationship partner mapping does not specify this mapping as its own relationship partner.

Cause: Maintains Bidirectional Relationship is selected for this mapping, but the mapping selected as the relationship partner does not have this mapping selected as its relationship partner.

Action: You must either select a different mapping for this mappings relationship partner, which has this mapping selected as it bidirectional relationship partner, or select this mapping as the bidirectional relationship partner of the mapping selected as the bidirectional relationship partner for this mapping.

467

The chosen reference descriptor is not a valid reference descriptor for this mapping.

Cause: The descriptor selected as the reference descriptor for this mapping is not a valid reference descriptor.

Action: Select a valid reference descriptor for this mapping.

470

No container class is selected.

Cause: No container class has been selected for this collection mapping.

Action: Select a Container class for this Collection mapping.

471

The container policy uses a Collection class, but the container class is not a Collection.

Cause: The selected container class for this collection mapping is not a Collection, but Use Collection Class is selected.

Action: Select a Container class that is a Collection for this mapping.

472

The container policy uses a Map class, but the container class is not a Map.

Cause: The selected Container class for this Collection mapping is not a Map class, but Use Map Class is selected.

Action: Select a Container class that is a Map class.

473

The container class must be instantiable.

Cause: The selected Container class for this Collection mapping is not instantiatable.

Action: Select a Container class this is instantiatable, (not an Interface, Abstract class, or Primitive class).

474

The container class does not agree with the instance variable.

Cause: The selected Container class for this Collection mapping, does not agree with the instance variable that is associated with the mapping. Either the variable is a Map class and the selected Container class is a Collection or vice versa.

Action: You must either select a Container class that agrees with the type of instance variable with which it is associated, or change the instance variable to agree with the selected Container class.

475

The container class is a Map, but the key method is not selected.

Cause: Use Map Class is selected for the Container policy for this Collection mapping, but a key method has not been selected.

Action: You must either select a key method for this Container policy, or change the Container policy to not use a map class.

4 76

The key method specified for this mapping is no longer visible to the owning descriptor's class.

Cause: The selected key method for the Container policy for this Collection mapping policy is not visible to the descriptor's class.

Action: You must either select a different method that is visible to the descriptor's class, or change the selected method so that it is visible.

477

The key method specified for this mapping is not valid.

Cause: The selected key method for the Container policy for this Collection mapping is invalid because it does not have the correct return type, or it does not accept more than zero parameters.

Action: You must either select a different method that is valid, or change the selected method so that it will return the correct type and accept more than zero parameters.

478

One-to-Many and Many-to-Many mappings in EJB 2.0 CMP descriptors may not use ValueHolder indirection.

Cause: A one-to-many or many-to-many mapping in an EJB 2.0 CMP descriptor is using ValueHolder indirection.

Action: You must either change the mapping to use no indirection or non-ValueHolder indirection.

480

No relation table is selected.

Cause: You created a many-to-many mapping, but did not specify a relation table. The relation table represents the relationship between the primary keys of the source table and target table.

Action: Select or create a Relation Table on the mapping's General tab.

481

The relation table is not dedicated to single, writable many-to-many mapping.

Cause: More than one many-to-many mapping in the project are using the same relation table.

Action: Each relation table should be used in one and only one many-to-many mapping.

482

No source reference is selected.

Cause: You created a many-to-many mapping, but did not select (or create) a source table reference on the mapping's Source Reference tab.

Action: The source table reference must contain a Source field (from the mapping's relation table) and a Target field (from one of the descriptor's associated tables).

483

No target reference is selected.

Cause: You created a many-to-many mapping, but did not select (or create) a target table reference on the mapping's Source Reference tab.

Action: The target table reference must contain a Source field (from the mapping's relation table) and a Target field (from one of the descriptor's associated tables).

Table Errors (500 – 610)

This section lists EclipseLink Workbench table errors.

500

You cannot use joining because the source and target (reference) descriptors are the same type.

Cause: You selected the Use Joining option on a one-to-one mapping in which the source and reference descriptors are the same.

Action: You must either deselect the Use Joining option or select a difference Reference Descriptor on the One-to-One Mapping General tab.

510

No query key associations have been defined.

Cause: You created a variable one-to-one mapping, but did not define a key pair.

Action: You must specify a foreign key field for each query key association on the Query Key Association tab for variable one-to-one mapping.

512

The following specified query key names are no longer valid: [query key]

Cause: The query keys listed for this mapping no longer refer to the reference descriptor for this mapping. The query keys are now invalid.

Action: You must either remove the invalid query keys, or change the reference descriptor so that it corresponds with the query keys.

513

No indicator field is selected.

Cause: You created a variable one-to-one mapping, but did not specify a database field in which to store indicator values.

Action: Select the Class Indicator Field on the Class Indicator Info tab.

514

No indicator values are specified.

Cause: You created a variable one-to-one mapping, but did not specify indicator values for each object type.

Action: Select the Indicator Type on the Class Indicator Info tab.

515

[descriptor name] is not an implementor of the [descriptor name] interface, so it cannot have an indicator value.

Cause: You included a descriptor on the Variable One-to-One Class Indicator Info tab that is an implementor.

Action: Deselect the descriptor on the Variable One-to-One Class Indicator Info tab or add the descriptor to the Implementor tab.

516

The chosen reference descriptor is not an interface descriptor.

Cause: This variable one-to-one mapping has a reference descriptor selected which is not an interface descriptor. The reference descriptor for a variable one-to-one mapping must be an interface descriptor for the mapping to be valid.

Action: You must either choose a reference descriptor that is an interface descriptor, or change the mapping to no longer be variable.

520

No attribute transformer is specified.

Cause: No attribute transformer is specified for this transformation mapping.

Action: Select an attribute transformer for this transformation mapping.

521

The attribute transformer class is missing.

Cause: No class has been specified for the attribute transformer for this transformation mapping.

Action: Select a class for the attribute transformer.

522

The attribute transformer class [class name] is not a valid transformer class.

Cause: The attribute transformer class that is selected is not a valid attribute transformer class.

Cause: No method has been selected for the attribute transformer for the transformation mapping.

Action: Select a method for the attribute transformer.

524

The attribute transformer method [method name] is not visible to the parent descriptor's class.

Cause: The selected attribute transformer method is not visible to the descriptor class for this mapping.

Action: You must either select a different method that is visible, or change the method in the class to make it visible.

525

The attribute transformer method [method name] is not a valid transformer method.

Cause: The selected attribute transformer method either has the wrong return type or accepts the wrong parameters to be a valid transformer method for this transformation mapping.

Action: You must either select a method with the correct return type and parameters, or change the selected method so that it meets these criteria.

526

No field transformer associations are specified.

Cause: No field transformer association has been specified for this transformation mapping.

Action: Specify at least one field transformer association.

527

No transformer is specified for the field [field name].

Cause: No transformer specified for the given field.

Action: Specify a transformer for this field.

528

There is a missing field in the field transformer association.

Cause: There is no field specified for a field transformer association for this transformation mapping.

Action: Specify a field for all the field transformer associations for this transformation mapping.

529

There is a missing transformer class for the field [field name].

Cause: The Transformer class is specified for this field transformer association, but the Transformer class is unspecified.

Action: Specify a Transformer class for the field transformer association for this field.

530

The transformer class [class name] for the field [field name] is not a valid transformer class.

Cause: The specified Transformer class for the field of this field transformer association is invalid.

Action: Specify a valid Transformer class for the field transformer association for this transformation mapping.

531

There is a missing transformer method for the field [field name].

Cause: A transformer method is specified for this field transformer association, but the transformer method is unspecified.

Action: Specify a transformer method for the field transformer association for this field.

532

The transformer method [method name] for the field [field name] is not visible to the parent descriptor's class.

Cause: The specified transformer method for the field transformer association for this field is not visible to the descriptor or the class of this mapping.

Action: You must either choose a method that is visible to the class, or change the method so that it is visible.

533

The field transformer method [method name] for the field [field name] is not a valid transformer method.

Cause: The specified method for the field transformer association for this field either has the incorrect return type, or accepts the wrong parameters.

Action: You must either select a method that has the correct return type and parameters, or change the currently selected method so that is has the correct return type and parameters.

540

No object type is selected.

Cause: You created an object type mapping, but did not select the type.

Action: You must select the Object Type and Database Type on the General tab of the mapping.

542

No object-type mappings have been specified.

Cause: You created an object type mapping, but did not create n object-to-database mapping.

Action: You must specify at least one mapping (Database Value and Object Value) on the General tab of the mapping.

545

NCharacter, NString, and NClob database types are currently supported only on the Oracle9i platform.

Cause: You attempted to map a database type that is not supported by your database.

Action: The database type for a type conversion mapping or direct-to-field mapping can be NCharacter, NString, or NCLOB only if you are using an Oracle9i database.

550

Attribute is typed as a ValueHolderInterface, but the mapping does not use Value Holder Indirection.

Cause: You did not specify indirection or transparent indirection for the mapping.

Action: If the class attribute is of type ValueHolderInterface, you must use ValueHolder indirection for the mapping.

551

Mapping uses ValueHolder Indirection, but its associated attribute is not a ValueHolderInterface.

Cause: You selected indirection without a ValueHolderInterface.

Action: If you select the Use Indirection (ValueHolder) option for a one-to-many, many-to-many, or direct collection mapping, the associated class attribute must be ValueHolderInterface.

560

The container class for this mapping must implement org.eclipse.persistence.indirection.IndirectContainer.

Cause: This mapping uses transparent indirection, but the Container class selected for its container policy is not an IndirectContainer.

Action: You must either select a Container class that is an IndirectContainer, or remove transparent indirection from the mapping.

570

The chosen reference descriptor is not an aggregate descriptor.

Cause: This is an aggregate mapping, but the selected reference descriptor is not an aggregate descriptor.

Action: You must either select a reference descriptor for this mapping that is an aggregate descriptor, or change this mapping to no longer be an aggregate mapping.

571

Aggregate fields are not specified.

Cause: You created an aggregate mapping without specifying specific fields.

Action: Every Field Description on the Fields tab must contain a unique Field for aggregate mappings.

572

Aggregate mapping fields must be unique.

Cause: You created an aggregate mapping without specifying unique fields.

Action: Every Field Description on the Fields tab must contain a unique Field for aggregate mappings.

573

The selected field does not exist on this descriptor's associated tables.

Cause: The field selected for one of the aggregate-path-to-fields for this aggregate mapping does not exist on any of the descriptor's associated tables.

Action: You must either select a different field for the path-to-field, or add the field to the appropriate table.

580

No XML field specified.

Cause: You mapped an attribute in an XML or EIS descriptor, but did not select an XML field.

Action: You must complete the XML Field field on the General tab of the mapping.

581

The specified XPath is not valid within the current schema.

Cause: The XPath specified for this mapping does not resolve in the schema.

Action: You must either select a different XPath, or alter the schema so that this XPath will resolve.

582

The specified XPath does not represent text data.

Cause: The XPath specified for this direct mapping does not resolve to a direct field in the schema.

Action: You must either select a different XPath, alter the schema so that this XPath will resolve to a direct field, or change the mapping type.

583

The specified XPath does not represent a single xml field.

Cause: The XPath specified for this mapping resolves to a field which is a collection, but this is not a collection mapping.

Action: You must either select a different XPath, alter the schema so that this XPath will resolve to a singular field, or change the mapping type.

590

The chosen reference descriptor is not a root eis descriptor.

Cause: The reference descriptor selected for this EIS reference mapping is not a root descriptor. Reference mappings in EIS descriptors must be root descriptors.

Action: You must either select a different reference descriptor for this mapping which is a root descriptor, or change the mapping type.

591

No relationship partner is specified.

Cause: This mapping has Maintains Bidirectional Relationship selected, but no relationship partner is specified.

Action: You must either deselect Maintains Bidirectional Relationship, or select a relationship partner.

592

The relationship partner must be an EIS One-to-One or EIS One-to-Many mapping.

Cause: The relationship partner selected for this mapping is not of the type EIS one-to-one or EIS one-to-many.

Action: You must select an EIS one-to-one or EIS one-to-many mapping as the relationship partner for this mapping, or deselect Maintains Bidirectional Relationship.

593

The specified relationship partner mapping does not specify this mapping as its own relationship partner.

Cause: The mapping selected as the relationship partner for this mapping does not have this mapping selected as its relationship partner. For these relationships to be bidirectional, you must select the relationship partner for both mappings.

Action: You must either go to the mapping selected as the relationship partner for this mapping and select this mapping as its relationship partner, or select a different relationship partner mapping for this mapping to maintain this mapping as its relationship partner.

594

There is a missing source XML field.

Cause: No field has been specified as the source XML field for this mapping.

Action: You must specify a source XML field.

595

There is a missing target XML field.

Cause: No field has been specified as the target XML field for this mapping.

Action: You must specify a target XML field.

600

A foreign key grouping element is required if there are multiple field pairs.

Cause: No foreign key grouping element is specified for this mapping and multiple field pairs.

Action: You must specify a foreign key grouping element.

601

The foreign key grouping element does not contain all foreign keys fields.

Cause: The specified foreign key grouping element does not contain all the foreign key fields.

Action: You must either remove the foreign key fields not contained in this foreign key grouping element, or pick a foreign key grouping element that contains all the foreign key fields.

602

A delete all interaction is specified, but the mapping is not private owned.

Cause: A deleteall interaction is specified for this mapping, but the mapping is not private owned.

Action: You must either make the mapping private owned, or remove the deleteall interaction.

610

At least one field pair must be specified, unless the mapping has no selection interaction and is read-only.

Cause: No field pairs are specified, and this mapping has a selection interaction specified and/or is not read-only.

Action: You must either specify a field pair for the mapping, or make the mapping read-only and remove the selection interaction.

Common Classpath Problems

The following are some common EclipseLink Workbench error messages that may result from invalid classpath information. See Configuring Project Classpath for more information.

The EclipseLink Workbench does not display the class(es) to import.

Cause: Your classes are not available for import on the Select Classes dialog box.

Action: Ensure that the class is in your project's classpath (on the project's General properties tab). Ensure that the class is in the .zip or .jar file. You cannot import compressed classes.

The EclipseLink Workbench generates an exception error when importing classes.

Cause: EclipseLink class import utility did not start correctly. One of the classes includes a static initialization method, which may cause the import utility to fail.

Action: Ensure that your project's classpath points to the root directory of your package hierarchy. For example, to import the com.company.class package in the C:\classes\com\company directory, your project classpath should be C:\classes\.

The EclipseLink Workbench fails to import the class, but does not generate an exception error.

Cause: The classpath containing your JDBC drivers should still be on your system CLASSPATH. EclipseLink Workbench classpath is for domain classes only.

Action: Ensure that you have properly indicated the directories that contain your domain class(es) to map on the project's General tab.

Database Connection Problems

This section describes common errors and problems you may encounter when communicating with or logging in to the database.

The class [class] was not found.

Cause: You attempted to log in to the database, but EclipseLink could not find the JDBC driver for the database.

Action: Ensure that the JDBC_CLASSPATH in the setenv.cmd file points to your JDBC driver JAR files. Verify that your PATH includes all files (for example, native .dll files) required by the driver. If the path to your JDBC driver JAR files contains spaces, then the path must be enclosed in double-quotes in the setenv.cmd file. For example: