Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Configuring a Relational Direct Map Mapping (ELUG)"

m (Introduction to Relational Direct Map Mapping Configuration)
m
Line 14: Line 14:
  
 
==Introduction to Relational Direct Map Mapping Configuration==
 
==Introduction to Relational Direct Map Mapping Configuration==
 
 
This table lists the configurable options for a relational direct map mapping.
 
This table lists the configurable options for a relational direct map mapping.
  
Line 20: Line 19:
 
<span id="Table 43-1"></span>
 
<span id="Table 43-1"></span>
 
''''' Configurable Options for Relational Direct Map Mapping'''''
 
''''' Configurable Options for Relational Direct Map Mapping'''''
 
 
{| class="RuleFormalMax" dir="ltr" title="Configurable Options for Relational Direct Map Mapping" summary="This table lists the configurable options for relational direct map mappings and categorizes them as Basic and Advanced and indicates if the option can be configured with the TopLink Workbench, Java, or both." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
{| class="RuleFormalMax" dir="ltr" title="Configurable Options for Relational Direct Map Mapping" summary="This table lists the configurable options for relational direct map mappings and categorizes them as Basic and Advanced and indicates if the option can be configured with the TopLink Workbench, Java, or both." width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
 
|- align="left" valign="top"
 
|- align="left" valign="top"
Line 28: Line 26:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r2c1-t2" headers="r1c1-t2" align="left" |
 
| id="r2c1-t2" headers="r1c1-t2" align="left" |
Target table (see [[Configuring%20a%20Relational%20Direct%20Collection%20Mapping (ELUG)|Configuring Target Table]])
+
[[Configuring%20a%20Relational%20Direct%20Collection%20Mapping (ELUG)#Configuring Target Table|Configuring Target Table]]
 
| headers="r2c1-t2 r1c2-t2" align="left" |
 
| headers="r2c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 35: Line 33:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r3c1-t2" headers="r1c1-t2" align="left" |
 
| id="r3c1-t2" headers="r1c1-t2" align="left" |
Direct value field (see [[#Configuring Direct Value Field]])
+
[[#Configuring Direct Value Field|Direct value field ]]
 
| headers="r3c1-t2 r1c2-t2" align="left" |
 
| headers="r3c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 42: Line 40:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t2" headers="r1c1-t2" align="left" |
 
| id="r4c1-t2" headers="r1c1-t2" align="left" |
Direct key field (see [[#Configuring Direct Key Field]])
+
[[#Configuring Direct Key Field|Direct key field ]]
 
| headers="r4c1-t2 r1c2-t2" align="left" |
 
| headers="r4c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 49: Line 47:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t2" headers="r1c1-t2" align="left" |
 
| id="r5c1-t2" headers="r1c1-t2" align="left" |
Method or direct field access (see [[Configuring%20a%20Mapping%20(ELUG)|Configuring a Type Conversion Converter]])
+
[[Configuring%20a%20Mapping%20(ELUG)#Configuring a Type Conversion Converter|Method or direct field access ]]
 
| headers="r5c1-t2 r1c2-t2" align="left" |
 
| headers="r5c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 56: Line 54:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r6c1-t2" headers="r1c1-t2" align="left" |
 
| id="r6c1-t2" headers="r1c1-t2" align="left" |
Read-only mapping (see [[Configuring%20a%20Mapping%20(ELUG)|Configuring Read-Only Mappings]])
+
[[Configuring%20a%20Mapping%20(ELUG)#Configuring Read-Only Mappings|Read-only mapping ]]
 
| headers="r6c1-t2 r1c2-t2" align="left" |
 
| headers="r6c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 63: Line 61:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r7c1-t2" headers="r1c1-t2" align="left" |
 
| id="r7c1-t2" headers="r1c1-t2" align="left" |
Batch reading (see [[Configuring%20a%20Relational%20Mapping%20(ELUG)|Configuring Batch Reading]])
+
[[Configuring%20a%20Relational%20Mapping%20(ELUG)#Configuring Batch Reading|Batch reading ]]
 
| headers="r7c1-t2 r1c2-t2" align="left" |
 
| headers="r7c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 70: Line 68:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r8c1-t2" headers="r1c1-t2" align="left" |
 
| id="r8c1-t2" headers="r1c1-t2" align="left" |
Indirection (lazy loading) (see [[Configuring%20a%20Mapping%20(ELUG)|Configuring Mapping Comments]])
+
[[Configuring%20a%20Mapping%20(ELUG)|Indirection (lazy loading)]]
 
| headers="r8c1-t2 r1c2-t2" align="left" |
 
| headers="r8c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 77: Line 75:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r9c1-t2" headers="r1c1-t2" align="left" |
 
| id="r9c1-t2" headers="r1c1-t2" align="left" |
Container policy (see [[Configuring%20a%20Mapping%20(ELUG)|Configuring Mapping Comments]])
+
[[Configuring%20a%20Mapping%20(ELUG)#Configuring Container Policy|Container policy ]]
 
| headers="r9c1-t2 r1c2-t2" align="left" |
 
| headers="r9c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 84: Line 82:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r10c1-t2" headers="r1c1-t2" align="left" |
 
| id="r10c1-t2" headers="r1c1-t2" align="left" |
Mapping comments (see [[Configuring%20a%20Mapping%20(ELUG)|Configuring Mapping Comments]])
+
[[Configuring%20a%20Mapping%20(ELUG)#Configuring Mapping Comments|Mapping comments]]
 
| headers="r10c1-t2 r1c2-t2" align="left" |
 
| headers="r10c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 91: Line 89:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r11c1-t2" headers="r1c1-t2" align="left" |
 
| id="r11c1-t2" headers="r1c1-t2" align="left" |
Key converters (see [[#Configuring Key Converters]])
+
[[#Configuring Key Converters|Key converters ]]
 
| headers="r11c1-t2 r1c2-t2" align="left" |
 
| headers="r11c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 98: Line 96:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r12c1-t2" headers="r1c1-t2" align="left" |
 
| id="r12c1-t2" headers="r1c1-t2" align="left" |
Value converters (see [[#Configuring Value Converters]])
+
[[#Configuring Value Converters|Value converters ]]
 
| headers="r12c1-t2 r1c2-t2" align="left" |
 
| headers="r12c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 105: Line 103:
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r13c1-t2" headers="r1c1-t2" align="left" |
 
| id="r13c1-t2" headers="r1c1-t2" align="left" |
Table and field references (see [[Configuring%20a%20Relational%20Mapping%20(ELUG)|Configuring Joining at the Mapping Level]])
+
[[Configuring%20a%20Relational%20Mapping%20(ELUG)#Configuring Joining at the Mapping Level|Table and field references ]]
 
| headers="r13c1-t2 r1c2-t2" align="left" |
 
| headers="r13c1-t2 r1c2-t2" align="left" |
 
[[Image:support.gif|Supported]]
 
[[Image:support.gif|Supported]]
Line 117: Line 115:
 
<span id="Example 36-1"></span>
 
<span id="Example 36-1"></span>
 
''''' Direct Map Mapping'''''
 
''''' Direct Map Mapping'''''
 
+
public void customize(ClassDescriptor descriptor) {  
<pre>
+
public void customize(ClassDescriptor descriptor) {  
+
 
     DirectMapMapping mapping = new DirectMapMapping();   
 
     DirectMapMapping mapping = new DirectMapMapping();   
 
+
 
     // configure mapping
 
     // configure mapping
 
     ...  
 
     ...  
 
+
 
     // add mapping to descriptor
 
     // add mapping to descriptor
 
     descriptor.addMapping(mapping);
 
     descriptor.addMapping(mapping);
}
+
}
</pre>
+
  
 
For more information, see the following:
 
For more information, see the following:
 
 
* [[Introduction%20to%20Relational%20Mappings%20(ELUG)#Direct Map Mapping|Direct Map Mapping]]
 
* [[Introduction%20to%20Relational%20Mappings%20(ELUG)#Direct Map Mapping|Direct Map Mapping]]
 
* [[Configuring%20a%20Relational%20Mapping%20(ELUG)|Configuring a Relational Mapping]]
 
* [[Configuring%20a%20Relational%20Mapping%20(ELUG)|Configuring a Relational Mapping]]
Line 137: Line 131:
  
 
For information on using JPA to configure direct map mappings, see [[Using%20EclipseLink%20JPA%20Extensions%20(ELUG)#How to Use the @BasicMap Annotation|How to Use the @BasicMap Annotation]].
 
For information on using JPA to configure direct map mappings, see [[Using%20EclipseLink%20JPA%20Extensions%20(ELUG)#How to Use the @BasicMap Annotation|How to Use the @BasicMap Annotation]].
 +
 +
  
 
==Configuring Direct Value Field==
 
==Configuring Direct Value Field==
 
+
The direct value field in the reference table stores the primitive data value of the map value. If the value's object value and database value are different types, use a converter (see [[#Configuring Value Converters|Configuring Value Converters]]).
The direct value field in the reference table stores the primitive data value of the map value. If the value's object value and database value are different types, use a converter (see [[#Configuring Value Converters]]).
+
  
  
  
 
===How to Configure Direct Value Fields Using Workbench===
 
===How to Configure Direct Value Fields Using Workbench===
 
 
# Select the mapped attribute in the '''Navigator'''. Its properties appear in the Editor.
 
# Select the mapped attribute in the '''Navigator'''. Its properties appear in the Editor.
# Click the '''General''' tab. The General tab appears.<br>'''''Figure 43-1 General Tab, Direct Value Field'''''<br>[[Image:dmdirval.gif|General Tab, Direct Value Field]]
+
# Click the '''General''' tab. The General tab appears.<br>''''' General Tab, Direct Value Field'''''<br>[[Image:dmdirval.gif|General Tab, Direct Value Field]]
 +
#Use the '''Direct Value Field''' list to select the field from the '''Target Table''' table that contains the object of the direct map mapping.
  
Use the '''Direct Value Field''' list to select the field from the '''Target Table''' table that contains the object of the direct map mapping.
 
 
'''See Also'''
 
: [[#Configuring Direct Value Field]]
 
  
  
  
 
===How to Configure Direct Value Fields Using Java===
 
===How to Configure Direct Value Fields Using Java===
 
 
Use the <tt>DirectMapMapping</tt> method <tt>setDirectFieldName</tt> to set the direct fields for your mapping.
 
Use the <tt>DirectMapMapping</tt> method <tt>setDirectFieldName</tt> to set the direct fields for your mapping.
  
For more information about the available methods for <tt>DirectMapMapping</tt>, see the ''[EclipseLink API Reference''.
+
For more information about the available methods for <tt>DirectMapMapping</tt>, see the ''EclipseLink API Reference''.
 +
 
 +
 
  
 
==Configuring Direct Key Field==
 
==Configuring Direct Key Field==
 
+
The direct key field in the reference table stores the primitive data value of the map key. If the key's object value and database value are different types, use a converter (see [[#Configuring Key Converters|Configuring Key Converters]]).
The direct key field in the reference table stores the primitive data value of the map key. If the key's object value and database value are different types, use a converter (see [[#Configuring Key Converters]]).
+
  
  
  
 
===How to Configure Direct Key Field Using Workbench===
 
===How to Configure Direct Key Field Using Workbench===
 
 
To specify the direct key field in the reference table, use this procedure.
 
To specify the direct key field in the reference table, use this procedure.
 
 
# Select the mapped attribute in the '''Navigator'''. Its properties appear in the Editor.
 
# Select the mapped attribute in the '''Navigator'''. Its properties appear in the Editor.
# Click the '''General''' tab. The General tab appears.<br>'''''Figure 43-2 General Tab, Direct Key Field'''''<br>[[Image:dmdirkey.gif|General Tab, Direct Key Field]]
+
# Click the '''General''' tab. The General tab appears.<br>''''' General Tab, Direct Key Field'''''<br>[[Image:dmdirkey.gif|General Tab, Direct Key Field]]
 +
#Use the '''Direct Key Field''' list to select the key from the '''Target Table''' table that contains the object of the direct map mapping.
  
Use the '''Direct Key Field''' list to select the key from the '''Target Table''' table that contains the object of the direct map mapping.
 
  
'''See Also'''
 
: [[#Configuring Direct Key Field]]
 
: [[#Configuring Key Converters]]
 
  
 
===How to Configure Direct Key Field Using Java===
 
===How to Configure Direct Key Field Using Java===
 
 
Use the <tt>DirectMapMapping</tt> method <tt>setDirectKeyFieldName</tt> to set the direct key field for your mapping.
 
Use the <tt>DirectMapMapping</tt> method <tt>setDirectKeyFieldName</tt> to set the direct key field for your mapping.
  
Line 190: Line 175:
  
 
==Configuring Key Converters==
 
==Configuring Key Converters==
 
 
If the key's object value and database value are different types, use a converter. EclipseLink supports the following key converters:
 
If the key's object value and database value are different types, use a converter. EclipseLink supports the following key converters:
 
+
* [[Introduction%20to%20Mappings%20(ELUG)#Serialized Object Converter|Serialized Object Converter]]
* [[Introduction%20to%20Mappings%20(ELUG)|Serialized Object Converter]]
+
* [[Introduction%20to%20Mappings%20(ELUG)#Type Conversion Converter|Type Conversion Converter]]
* [[Introduction%20to%20Mappings%20(ELUG)|Type Conversion Converter]]
+
* [[Introduction%20to%20Mappings%20(ELUG)#Object Type Converter|Object Type Converter]]
* [[Introduction%20to%20Mappings%20(ELUG)|Object Type Converter]]
+
  
  
Line 202: Line 185:
  
 
Use this procedure to specify the converter for a direct map mapping key:
 
Use this procedure to specify the converter for a direct map mapping key:
 
 
# Select the mapped attribute in the '''Navigator'''. Its properties appear in the Editor.
 
# Select the mapped attribute in the '''Navigator'''. Its properties appear in the Editor.
 
# Click the '''Converter''' tab. The Converter tab appears.
 
# Click the '''Converter''' tab. The Converter tab appears.
 
# Click the '''Key Converter''' tab. The Key Converter tab appears.<br>'''''Converter Tab, Key Converter Subtab'''''<br>[[Image:keyconv.gif|Converter Tab, Key Converter Subtab]]
 
# Click the '''Key Converter''' tab. The Key Converter tab appears.<br>'''''Converter Tab, Key Converter Subtab'''''<br>[[Image:keyconv.gif|Converter Tab, Key Converter Subtab]]
# Select the appropriate [topicid:keyConverter Key Converter].
+
# Select the appropriate Key Converter.
 
+
 
+
  
 
{| class="HRuleInformal" dir="ltr" title="This table identifies the available converters." summary="This table identifies the available converters." width="100%" border="1" frame="hsides" rules="rows" cellpadding="3" frame="hsides" rules="rows"
 
{| class="HRuleInformal" dir="ltr" title="This table identifies the available converters." summary="This table identifies the available converters." width="100%" border="1" frame="hsides" rules="rows" cellpadding="3" frame="hsides" rules="rows"
Line 233: Line 213:
  
  
'''See Also'''
 
: [[#Configuring Key Converters]]
 
: [[#Configuring Direct Key Field]]
 
  
===How to Configure Key Converters Using Java===
 
  
 +
===How to Configure Key Converters Using Java===
 
You can configure whether or not to allow null values using the <tt>DirectMapMapping</tt> method <tt>setKeyConverter</tt>.
 
You can configure whether or not to allow null values using the <tt>DirectMapMapping</tt> method <tt>setKeyConverter</tt>.
  
 
For more information about the available methods for <tt>DirectMapMapping</tt>, see the ''EclipseLink API Reference''.
 
For more information about the available methods for <tt>DirectMapMapping</tt>, see the ''EclipseLink API Reference''.
  
==Configuring Value Converters==
 
  
 +
 +
==Configuring Value Converters==
 
If the value's object value and database value are different types, use a converter. EclipseLink supports the following value converters:
 
If the value's object value and database value are different types, use a converter. EclipseLink supports the following value converters:
 
+
* [[Introduction%20to%20Mappings%20(ELUG)#Serialized Object Converter|Serialized Object Converter]]
* [[Introduction%20to%20Mappings%20(ELUG)|Serialized Object Converter]]
+
* [[Introduction%20to%20Mappings%20(ELUG)#Type Conversion Converter|Type Conversion Converter]]
* [[Introduction%20to%20Mappings%20(ELUG)|Type Conversion Converter]]
+
* [[Introduction%20to%20Mappings%20(ELUG)#Object Type Converter|Object Type Converter]]
* [[Introduction%20to%20Mappings%20(ELUG)|Object Type Converter]]
+
  
  
  
 
===How to Configure Value Converters Using Workbench===
 
===How to Configure Value Converters Using Workbench===
 
 
# Select the mapped attribute in the '''Navigator'''. Its properties appear in the Editor.
 
# Select the mapped attribute in the '''Navigator'''. Its properties appear in the Editor.
 
# Click the '''Converter''' tab. The Converter tab appears.
 
# Click the '''Converter''' tab. The Converter tab appears.
 
# Click the '''Value Converter''' tab. The Value Converter tab appears.<br>'''''Converter Tab, Value Converter Subtab'''''<br>[[Image:valconv.gif|Converter Tab, Value Converter Subtab]]
 
# Click the '''Value Converter''' tab. The Value Converter tab appears.<br>'''''Converter Tab, Value Converter Subtab'''''<br>[[Image:valconv.gif|Converter Tab, Value Converter Subtab]]
 
# Select the appropriate Value Converter.
 
# Select the appropriate Value Converter.
 
 
  
 
{| class="HRuleInformal" dir="ltr" title="This table identifies the available converters." summary="This table identifies the available converters." width="100%" border="1" frame="hsides" rules="rows" cellpadding="3" frame="hsides" rules="rows"
 
{| class="HRuleInformal" dir="ltr" title="This table identifies the available converters." summary="This table identifies the available converters." width="100%" border="1" frame="hsides" rules="rows" cellpadding="3" frame="hsides" rules="rows"
Line 272: Line 246:
 
| id="r3c1-t4" headers="r1c1-t4" align="left" | '''Serialized Object''' '''Converter'''
 
| id="r3c1-t4" headers="r1c1-t4" align="left" | '''Serialized Object''' '''Converter'''
 
| headers="r3c1-t4 r1c2-t4" align="left" |
 
| headers="r3c1-t4 r1c2-t4" align="left" |
See [[Configuring%20a%20Mapping%20(ELUG)|Configuring a Serialized Object Converter]].
+
[[Configuring%20a%20Mapping%20(ELUG)#Configuring a Serialized Object Converter|Configuring a Serialized Object Converter]]
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r4c1-t4" headers="r1c1-t4" align="left" | '''Type Conversion Converter'''
 
| id="r4c1-t4" headers="r1c1-t4" align="left" | '''Type Conversion Converter'''
 
| headers="r4c1-t4 r1c2-t4" align="left" |
 
| headers="r4c1-t4 r1c2-t4" align="left" |
See [[Configuring%20a%20Mapping%20(ELUG)|Configuring a Type Conversion Converter]].
+
[[Configuring%20a%20Mapping%20(ELUG)#Configuring a Type Conversion Converter|Configuring a Type Conversion Converter]]
 
|- align="left" valign="top"
 
|- align="left" valign="top"
 
| id="r5c1-t4" headers="r1c1-t4" align="left" | '''Object Type Converter'''
 
| id="r5c1-t4" headers="r1c1-t4" align="left" | '''Object Type Converter'''
 
| headers="r5c1-t4 r1c2-t4" align="left" |
 
| headers="r5c1-t4 r1c2-t4" align="left" |
See [[Configuring%20a%20Mapping%20(ELUG)|Configuring an Object Type Converter]].
+
[[Configuring%20a%20Mapping%20(ELUG)#Configuring an Object Type Converter|Configuring an Object Type Converter]]
 
|}
 
|}
  
  
  
'''See Also'''
 
 
: [[#Configuring Value Converters]]
 
  
  

Revision as of 11:43, 4 December 2007


This section describes the various components that you must configure in order to use a relational direct map mapping.

For information on how to configure EclipseLink mappings options common to two or more mapping types, see Configuring a Mapping.

For information on how to create EclipseLink mappings, see Creating a Mapping.

Configurable Options for Relational Direct Map Mapping lists the configurable options for a relational direct map mapping.


Introduction to Relational Direct Map Mapping Configuration

This table lists the configurable options for a relational direct map mapping.


Configurable Options for Relational Direct Map Mapping

Option Workbench Java

Configuring Target Table

Supported

Supported

Direct value field

Supported

Supported

Direct key field

Supported

Supported

Method or direct field access

Supported

Supported

Read-only mapping

Supported

Supported

Batch reading

Supported

Supported

Indirection (lazy loading)

Supported

Supported

Container policy

Supported

Supported

Mapping comments

Supported

Supported

Key converters

Supported

Supported

Value converters

Supported

Supported

Table and field references

Supported

Supported


This example shows how to create a direct map mapping and add it to a descriptor using Java code.

Direct Map Mapping

public void customize(ClassDescriptor descriptor) { 
   DirectMapMapping mapping = new DirectMapMapping();  

   // configure mapping
   ... 

   // add mapping to descriptor
   descriptor.addMapping(mapping);
}

For more information, see the following:

For information on using JPA to configure direct map mappings, see How to Use the @BasicMap Annotation.


Configuring Direct Value Field

The direct value field in the reference table stores the primitive data value of the map value. If the value's object value and database value are different types, use a converter (see Configuring Value Converters).


How to Configure Direct Value Fields Using Workbench

  1. Select the mapped attribute in the Navigator. Its properties appear in the Editor.
  2. Click the General tab. The General tab appears.
    General Tab, Direct Value Field
    General Tab, Direct Value Field
  3. Use the Direct Value Field list to select the field from the Target Table table that contains the object of the direct map mapping.



How to Configure Direct Value Fields Using Java

Use the DirectMapMapping method setDirectFieldName to set the direct fields for your mapping.

For more information about the available methods for DirectMapMapping, see the EclipseLink API Reference.


Configuring Direct Key Field

The direct key field in the reference table stores the primitive data value of the map key. If the key's object value and database value are different types, use a converter (see Configuring Key Converters).


How to Configure Direct Key Field Using Workbench

To specify the direct key field in the reference table, use this procedure.

  1. Select the mapped attribute in the Navigator. Its properties appear in the Editor.
  2. Click the General tab. The General tab appears.
    General Tab, Direct Key Field
    General Tab, Direct Key Field
  3. Use the Direct Key Field list to select the key from the Target Table table that contains the object of the direct map mapping.


How to Configure Direct Key Field Using Java

Use the DirectMapMapping method setDirectKeyFieldName to set the direct key field for your mapping.

For more information about the available methods for DirectMapMapping, see the EclipseLink API Reference.


Configuring Key Converters

If the key's object value and database value are different types, use a converter. EclipseLink supports the following key converters:


How to Configure Key Converters Using Workbench

Use this procedure to specify the converter for a direct map mapping key:

  1. Select the mapped attribute in the Navigator. Its properties appear in the Editor.
  2. Click the Converter tab. The Converter tab appears.
  3. Click the Key Converter tab. The Key Converter tab appears.
    Converter Tab, Key Converter Subtab
    Converter Tab, Key Converter Subtab
  4. Select the appropriate Key Converter.
Converter Description
No Converter Do not use a Key Converter for this mapping.
Serialized Object Converter

See Configuring a Serialized Object Converter.

Type Conversion Converter

See Configuring a Type Conversion Converter.

Object Type Converter

See Configuring an Object Type Converter.



How to Configure Key Converters Using Java

You can configure whether or not to allow null values using the DirectMapMapping method setKeyConverter.

For more information about the available methods for DirectMapMapping, see the EclipseLink API Reference.


Configuring Value Converters

If the value's object value and database value are different types, use a converter. EclipseLink supports the following value converters:


How to Configure Value Converters Using Workbench

  1. Select the mapped attribute in the Navigator. Its properties appear in the Editor.
  2. Click the Converter tab. The Converter tab appears.
  3. Click the Value Converter tab. The Value Converter tab appears.
    Converter Tab, Value Converter Subtab
    Converter Tab, Value Converter Subtab
  4. Select the appropriate Value Converter.
Converter Description
No Converter Do not use a Value Converter for this mapping.
Serialized Object Converter

Configuring a Serialized Object Converter

Type Conversion Converter

Configuring a Type Conversion Converter

Object Type Converter

Configuring an Object Type Converter




Copyright Statement

Back to the top