296615 - add query-redirector and cache-interceptor resource model tolerance
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipseLinkResourceModels.genmodel b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipseLinkResourceModels.genmodel
index a16243e..68d0d96 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipseLinkResourceModels.genmodel
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipseLinkResourceModels.genmodel
@@ -86,6 +86,7 @@
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//XmlCacheHolder/cache"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlCacheHolder/existenceChecking"/>
     </genClasses>
+    <genClasses ecoreClass="eclipselink_orm.ecore#//XmlCacheInterceptor"/>
     <genClasses ecoreClass="eclipselink_orm.ecore#//XmlChangeTracking">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlChangeTracking/type"/>
     </genClasses>
@@ -205,6 +206,7 @@
     <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//XmlQueryContainer">
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//XmlQueryContainer/namedStoredProcedureQueries"/>
     </genClasses>
+    <genClasses ecoreClass="eclipselink_orm.ecore#//XmlQueryRedirectors"/>
     <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//XmlReadOnly">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//XmlReadOnly/readOnly"/>
     </genClasses>
@@ -261,17 +263,35 @@
         <genEnumLiterals ecoreEnumLiteral="eclipselink_orm.ecore#//v2_0/OrderCorrectionType_2_0/READ_WRITE"/>
         <genEnumLiterals ecoreEnumLiteral="eclipselink_orm.ecore#//v2_0/OrderCorrectionType_2_0/EXCEPTION"/>
       </genEnums>
+      <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_0/XmlCacheInterceptor2_0">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_0/XmlCacheInterceptor2_0/className"/>
+      </genClasses>
       <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_0/XmlCollectionMapping_2_0">
         <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_0/XmlCollectionMapping_2_0/mapKeyConvert"/>
         <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//v2_0/XmlCollectionMapping_2_0/mapKeyAssociationOverrides"/>
       </genClasses>
       <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_0/XmlElementCollection_2_0"/>
+      <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_0/XmlEntity2_0">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//v2_0/XmlEntity2_0/cacheInterceptor"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//v2_0/XmlEntity2_0/queryRedirectors"/>
+      </genClasses>
       <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_0/XmlManyToMany_2_0"/>
-      <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_0/XmlMappedSuperclass_2_0"/>
+      <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_0/XmlMappedSuperclass_2_0">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference eclipselink_orm.ecore#//v2_0/XmlMappedSuperclass_2_0/cacheInterceptor"/>
+      </genClasses>
       <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_0/XmlOneToMany_2_0"/>
       <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_0/XmlOrderColumn_2_0">
         <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_0/XmlOrderColumn_2_0/correctionType"/>
       </genClasses>
+      <genClasses image="false" ecoreClass="eclipselink_orm.ecore#//v2_0/XmlQueryRedirectors2_0">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_0/XmlQueryRedirectors2_0/allQueries"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_0/XmlQueryRedirectors2_0/readAll"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_0/XmlQueryRedirectors2_0/readObject"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_0/XmlQueryRedirectors2_0/report"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_0/XmlQueryRedirectors2_0/update"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_0/XmlQueryRedirectors2_0/insert"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute eclipselink_orm.ecore#//v2_0/XmlQueryRedirectors2_0/delete"/>
+      </genClasses>
     </nestedGenPackages>
   </genPackages>
 </genmodel:GenModel>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm.ecore b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm.ecore
index 25d99d5..6fb0a1b 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm.ecore
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/model/eclipselink_orm.ecore
@@ -46,6 +46,7 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="existenceChecking" eType="#//ExistenceType"
         defaultValueLiteral=""/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="XmlCacheInterceptor" eSuperTypes="#//v2_0/XmlCacheInterceptor2_0"/>
   <eClassifiers xsi:type="ecore:EClass" name="XmlChangeTracking">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//XmlChangeTrackingType"/>
   </eClassifiers>
@@ -205,6 +206,7 @@
         upperBound="-1" eType="#//XmlNamedStoredProcedureQuery" containment="true"
         resolveProxies="false"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="XmlQueryRedirectors" eSuperTypes="#//v2_0/XmlQueryRedirectors2_0"/>
   <eClassifiers xsi:type="ecore:EClass" name="XmlReadOnly" abstract="true" interface="true">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="readOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//BooleanObject"/>
   </eClassifiers>
@@ -305,6 +307,10 @@
     </eClassifiers>
   </eSubpackages>
   <eSubpackages name="v2_0" nsURI="jpt.eclipselink.orm.v2_0.xmi" nsPrefix="org.eclipse.jpt.eclipselink.core.resource.orm.v2_0">
+    <eClassifiers xsi:type="ecore:EClass" name="XmlCacheInterceptor2_0" abstract="true"
+        interface="true">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="className" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
     <eClassifiers xsi:type="ecore:EClass" name="XmlCollectionMapping_2_0" abstract="true"
         interface="true">
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="mapKeyConvert" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -314,16 +320,36 @@
     </eClassifiers>
     <eClassifiers xsi:type="ecore:EClass" name="XmlElementCollection_2_0" abstract="true"
         interface="true" eSuperTypes="#//XmlAttributeMapping #//XmlConvertibleMapping #//XmlConvertersHolder #//v2_0/XmlCollectionMapping_2_0"/>
+    <eClassifiers xsi:type="ecore:EClass" name="XmlEntity2_0" abstract="true" interface="true"
+        eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//v2_0/XmlEntity_2_0">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="cacheInterceptor" eType="#//v2_0/XmlCacheInterceptor2_0"
+          containment="true" resolveProxies="false"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="queryRedirectors" eType="#//v2_0/XmlQueryRedirectors2_0"
+          containment="true" resolveProxies="false"/>
+    </eClassifiers>
     <eClassifiers xsi:type="ecore:EClass" name="XmlManyToMany_2_0" abstract="true"
         interface="true" eSuperTypes="#//XmlConverterHolder #//v2_0/XmlCollectionMapping_2_0"/>
     <eClassifiers xsi:type="ecore:EClass" name="XmlMappedSuperclass_2_0" abstract="true"
-        interface="true" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//v2_0/XmlCacheable_2_0"/>
+        interface="true" eSuperTypes="../../org.eclipse.jpt.core/model/orm.ecore#//v2_0/XmlCacheable_2_0">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="cacheInterceptor" eType="#//v2_0/XmlCacheInterceptor2_0"
+          containment="true" resolveProxies="false"/>
+    </eClassifiers>
     <eClassifiers xsi:type="ecore:EClass" name="XmlOneToMany_2_0" abstract="true"
         interface="true" eSuperTypes="#//XmlConverterHolder #//v2_0/XmlCollectionMapping_2_0"/>
     <eClassifiers xsi:type="ecore:EClass" name="XmlOrderColumn_2_0" abstract="true"
         interface="true">
       <eStructuralFeatures xsi:type="ecore:EAttribute" name="correctionType" eType="#//v2_0/OrderCorrectionType_2_0"/>
     </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="XmlQueryRedirectors2_0" abstract="true"
+        interface="true">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="allQueries" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="readAll" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="readObject" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="report" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="update" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="insert" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="delete" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
     <eClassifiers xsi:type="ecore:EEnum" name="OrderCorrectionType_2_0">
       <eLiterals name="READ"/>
       <eLiterals name="READ_WRITE" value="1"/>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_2_0.xsd b/jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_2_0.xsd
index 077a068..e69d468 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_2_0.xsd
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/schemas/eclipselink_orm_2_0.xsd
@@ -171,6 +171,22 @@
 
   <!-- **************************************************** --> 
 
+  <xsd:complexType name="cache-interceptor">
+    <xsd:annotation>
+      <xsd:documentation>
+
+        @Target({TYPE}) @Retention(RUNTIME)
+        public @interface CacheInterceptor {
+          Class value();
+        }
+
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="class" type="xsd:string" use="required"/>
+  </xsd:complexType>
+  <!-- **************************************************** -->
+
+
   <xsd:simpleType name="cache-type">
     <xsd:annotation>
       <xsd:documentation>
@@ -662,6 +678,7 @@
       <xsd:element name="discriminator-column" type="orm:discriminator-column" minOccurs="0"/>
       <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
       <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
+      <xsd:element name="cache-interceptor" type="orm:cache-interceptor" minOccurs="0" maxOccurs="1"/>
       <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
       <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
       <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
@@ -675,6 +692,7 @@
       <xsd:element name="named-native-query" type="orm:named-native-query" minOccurs="0" maxOccurs="unbounded"/>
       <xsd:element name="named-stored-procedure-query" type="orm:named-stored-procedure-query" minOccurs="0" maxOccurs="unbounded"/>             
       <xsd:element name="sql-result-set-mapping" type="orm:sql-result-set-mapping" minOccurs="0" maxOccurs="unbounded"/>
+      <xsd:element name="query-redirectors" type="orm:query-redirectors" minOccurs="0" maxOccurs="1"/>
       <xsd:element name="exclude-default-listeners" type="orm:emptyType" minOccurs="0"/>
       <xsd:element name="exclude-superclass-listeners" type="orm:emptyType" minOccurs="0"/>
       <xsd:element name="entity-listeners" type="orm:entity-listeners" minOccurs="0"/>
@@ -2148,6 +2166,7 @@
       <xsd:element name="primary-key" type="orm:primary-key" minOccurs="0"/>
       <xsd:element name="optimistic-locking" type="orm:optimistic-locking" minOccurs="0"/>
       <xsd:element name="cache" type="orm:cache" minOccurs="0"/>
+      <xsd:element name="cache-interceptor" type="orm:cache-interceptor" minOccurs="0"/>
       <xsd:element name="converter" type="orm:converter" minOccurs="0" maxOccurs="unbounded"/>
       <xsd:element name="type-converter" type="orm:type-converter" minOccurs="0" maxOccurs="unbounded"/>
       <xsd:element name="object-type-converter" type="orm:object-type-converter" minOccurs="0" maxOccurs="unbounded"/>
@@ -2850,6 +2869,90 @@
 
   <!-- **************************************************** -->
 
+  <xsd:complexType name="query-redirectors">
+    <xsd:annotation>
+      <xsd:documentation>
+
+@Target({TYPE}) @Retention(RUNTIME)
+public @interface QueryRedirectors {
+    
+    /**
+     * This AllQueries Query Redirector will be applied to any executing object query
+     * that does not have a more precise redirector (like the 
+     * ReadObjectQuery Redirector) or a redirector set directly on the query.
+     * Query redirectors allow the user to intercept query execution preventing
+     * it or alternately performing some side effect like auditing.
+     * 
+     */
+    Class allQueries() default void.class;
+    
+    /**
+     * A Default ReadAll Query Redirector will be applied to any executing
+     * ReadAllQuery that does not have a redirector set directly on the query.
+     * Query redirectors allow the user to intercept query execution preventing
+     * it or alternately performing some side effect like auditing.
+     * For users executing a JPA Query through the getResultList() API this is the redirector that will be invoked
+     */
+    Class readAll() default void.class;
+    
+    /**
+     * A Default ReadObject Query Redirector will be applied to any executing
+     * ReadObjectQuery that does not have a redirector set directly on the query.
+     * Query redirectors allow the user to intercept query execution preventing
+     * it or alternately performing some side effect like auditing.
+     * For users executing a JPA Query through the getSingleResult() API or EntityManager.find() this is the redirector that will be invoked
+     */
+    Class readObject() default void.class;
+    
+    /**
+     * A Default ReportQuery Redirector will be applied to any executing
+     * ReportQuery that does not have a redirector set directly on the query.
+     * Query redirectors allow the user to intercept query execution preventing
+     * it or alternately performing some side effect like auditing.
+     * For users executing a JPA Query that contains agregate functions or selects multiple entities this is the redirector that will be invoked
+     */
+    Class report() default void.class;
+    
+    /**
+     * A Default Update Query Redirector will be applied to any executing
+     * UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query.
+     * In EclipseLink an UpdateObjectQuery is executed whenever flushing changes to the datasource.
+     * Query redirectors allow the user to intercept query execution preventing
+     * it or alternately performing some side effect like auditing.
+     */ 
+    Class update() default void.class;
+    
+    /**
+     * A Default Insert Query Redirector will be applied to any executing
+     * InsertObjectQuery that does not have a redirector set directly on the query.
+     * In EclipseLink an InsertObjectQuery is executed when persisting an object to the datasource.
+     * Query redirectors allow the user to intercept query execution preventing
+     * it or alternately performing some side effect like auditing.
+     */
+    Class insert() default void.class;
+    
+    /**
+     * A Default Delete Object Query Redirector will be applied to any executing
+     * DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query.
+     * Query redirectors allow the user to intercept query execution preventing
+     * it or alternately performing some side effect like auditing.
+     */
+    Class delete() default void.class;
+
+}
+      </xsd:documentation>
+    </xsd:annotation>
+    <xsd:attribute name="all-queries" type="xsd:string"/>
+    <xsd:attribute name="read-all" type="xsd:string"/>
+    <xsd:attribute name="read-object" type="xsd:string"/>
+    <xsd:attribute name="report" type="xsd:string"/>
+    <xsd:attribute name="update" type="xsd:string"/>
+    <xsd:attribute name="insert" type="xsd:string"/>
+    <xsd:attribute name="delete" type="xsd:string"/>
+  </xsd:complexType>
+
+  <!-- **************************************************** -->
+
   <xsd:complexType name="read-transformer">
     <xsd:annotation>
       <xsd:documentation>
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmFactory.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmFactory.java
index f911567..253d9e0 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmFactory.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmFactory.java
@@ -87,6 +87,7 @@
 			case EclipseLinkOrmPackage.XML_BASIC_COLLECTION: return (EObject)createXmlBasicCollection();
 			case EclipseLinkOrmPackage.XML_BASIC_MAP: return (EObject)createXmlBasicMap();
 			case EclipseLinkOrmPackage.XML_CACHE: return (EObject)createXmlCache();
+			case EclipseLinkOrmPackage.XML_CACHE_INTERCEPTOR: return (EObject)createXmlCacheInterceptor();
 			case EclipseLinkOrmPackage.XML_CHANGE_TRACKING: return (EObject)createXmlChangeTracking();
 			case EclipseLinkOrmPackage.XML_CLONE_COPY_POLICY: return (EObject)createXmlCloneCopyPolicy();
 			case EclipseLinkOrmPackage.XML_CONVERSION_VALUE: return (EObject)createXmlConversionValue();
@@ -114,6 +115,7 @@
 			case EclipseLinkOrmPackage.XML_PERSISTENCE_UNIT_METADATA: return (EObject)createXmlPersistenceUnitMetadata();
 			case EclipseLinkOrmPackage.XML_PRIMARY_KEY: return (EObject)createXmlPrimaryKey();
 			case EclipseLinkOrmPackage.XML_PROPERTY: return (EObject)createXmlProperty();
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS: return (EObject)createXmlQueryRedirectors();
 			case EclipseLinkOrmPackage.XML_STORED_PROCEDURE_PARAMETER: return (EObject)createXmlStoredProcedureParameter();
 			case EclipseLinkOrmPackage.XML_STRUCT_CONVERTER: return (EObject)createXmlStructConverter();
 			case EclipseLinkOrmPackage.XML_TIME_OF_DAY: return (EObject)createXmlTimeOfDay();
@@ -256,6 +258,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public XmlCacheInterceptor createXmlCacheInterceptor()
+	{
+		XmlCacheInterceptor xmlCacheInterceptor = new XmlCacheInterceptor();
+		return xmlCacheInterceptor;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public XmlChangeTracking createXmlChangeTracking()
 	{
 		XmlChangeTracking xmlChangeTracking = new XmlChangeTracking();
@@ -553,6 +566,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public XmlQueryRedirectors createXmlQueryRedirectors()
+	{
+		XmlQueryRedirectors xmlQueryRedirectors = new XmlQueryRedirectors();
+		return xmlQueryRedirectors;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public XmlStoredProcedureParameter createXmlStoredProcedureParameter()
 	{
 		XmlStoredProcedureParameter xmlStoredProcedureParameter = new XmlStoredProcedureParameter();
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java
index e7fe76b..8633227 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/EclipseLinkOrmPackage.java
@@ -710,6 +710,31 @@
 	 */
 	public static final int XML_CACHE_HOLDER_FEATURE_COUNT = 2;
 	/**
+	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlCacheInterceptor <em>Xml Cache Interceptor</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlCacheInterceptor
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCacheInterceptor()
+	 * @generated
+	 */
+	public static final int XML_CACHE_INTERCEPTOR = 9;
+	/**
+	 * The feature id for the '<em><b>Class Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_CACHE_INTERCEPTOR__CLASS_NAME = EclipseLinkOrmV2_0Package.XML_CACHE_INTERCEPTOR2_0__CLASS_NAME;
+	/**
+	 * The number of structural features of the '<em>Xml Cache Interceptor</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_CACHE_INTERCEPTOR_FEATURE_COUNT = EclipseLinkOrmV2_0Package.XML_CACHE_INTERCEPTOR2_0_FEATURE_COUNT + 0;
+	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlChangeTracking <em>Xml Change Tracking</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -717,7 +742,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlChangeTracking()
 	 * @generated
 	 */
-	public static final int XML_CHANGE_TRACKING = 9;
+	public static final int XML_CHANGE_TRACKING = 10;
 	/**
 	 * The feature id for the '<em><b>Type</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -742,7 +767,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlChangeTrackingHolder()
 	 * @generated
 	 */
-	public static final int XML_CHANGE_TRACKING_HOLDER = 10;
+	public static final int XML_CHANGE_TRACKING_HOLDER = 11;
 	/**
 	 * The feature id for the '<em><b>Change Tracking</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
@@ -767,7 +792,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCloneCopyPolicy()
 	 * @generated
 	 */
-	public static final int XML_CLONE_COPY_POLICY = 11;
+	public static final int XML_CLONE_COPY_POLICY = 12;
 	/**
 	 * The feature id for the '<em><b>Method</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -800,7 +825,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConversionValue()
 	 * @generated
 	 */
-	public static final int XML_CONVERSION_VALUE = 12;
+	public static final int XML_CONVERSION_VALUE = 13;
 	/**
 	 * The feature id for the '<em><b>Data Value</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -833,7 +858,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlNamedConverter()
 	 * @generated
 	 */
-	public static final int XML_NAMED_CONVERTER = 33;
+	public static final int XML_NAMED_CONVERTER = 34;
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -858,7 +883,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverter()
 	 * @generated
 	 */
-	public static final int XML_CONVERTER = 13;
+	public static final int XML_CONVERTER = 14;
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -891,7 +916,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConverterHolder()
 	 * @generated
 	 */
-	public static final int XML_CONVERTER_HOLDER = 14;
+	public static final int XML_CONVERTER_HOLDER = 15;
 	/**
 	 * The feature id for the '<em><b>Converter</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
@@ -940,7 +965,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertersHolder()
 	 * @generated
 	 */
-	public static final int XML_CONVERTERS_HOLDER = 15;
+	public static final int XML_CONVERTERS_HOLDER = 16;
 	/**
 	 * The feature id for the '<em><b>Converters</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -989,7 +1014,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlConvertibleMapping()
 	 * @generated
 	 */
-	public static final int XML_CONVERTIBLE_MAPPING = 16;
+	public static final int XML_CONVERTIBLE_MAPPING = 17;
 	/**
 	 * The feature id for the '<em><b>Lob</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -1070,7 +1095,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCopyPolicy()
 	 * @generated
 	 */
-	public static final int XML_COPY_POLICY = 17;
+	public static final int XML_COPY_POLICY = 18;
 	/**
 	 * The feature id for the '<em><b>Class</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -1095,7 +1120,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCustomizer()
 	 * @generated
 	 */
-	public static final int XML_CUSTOMIZER = 18;
+	public static final int XML_CUSTOMIZER = 19;
 	/**
 	 * The feature id for the '<em><b>Customizer Class Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -1120,7 +1145,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCustomizerHolder()
 	 * @generated
 	 */
-	public static final int XML_CUSTOMIZER_HOLDER = 19;
+	public static final int XML_CUSTOMIZER_HOLDER = 20;
 	/**
 	 * The feature id for the '<em><b>Customizer</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
@@ -1145,7 +1170,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlElementCollection()
 	 * @generated
 	 */
-	public static final int XML_ELEMENT_COLLECTION = 20;
+	public static final int XML_ELEMENT_COLLECTION = 21;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -1195,6 +1220,14 @@
 	 */
 	public static final int XML_ELEMENT_COLLECTION__ORDER_COLUMN = OrmPackage.XML_ELEMENT_COLLECTION__ORDER_COLUMN;
 	/**
+	 * The feature id for the '<em><b>Order By</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_ELEMENT_COLLECTION__ORDER_BY = OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY;
+	/**
 	 * The feature id for the '<em><b>Target Class</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1211,14 +1244,6 @@
 	 */
 	public static final int XML_ELEMENT_COLLECTION__FETCH = OrmPackage.XML_ELEMENT_COLLECTION__FETCH;
 	/**
-	 * The feature id for the '<em><b>Order By</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	public static final int XML_ELEMENT_COLLECTION__ORDER_BY = OrmPackage.XML_ELEMENT_COLLECTION__ORDER_BY;
-	/**
 	 * The feature id for the '<em><b>Map Key</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1426,7 +1451,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddable()
 	 * @generated
 	 */
-	public static final int XML_EMBEDDABLE = 21;
+	public static final int XML_EMBEDDABLE = 22;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -1571,7 +1596,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbedded()
 	 * @generated
 	 */
-	public static final int XML_EMBEDDED = 22;
+	public static final int XML_EMBEDDED = 23;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -1636,7 +1661,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEmbeddedId()
 	 * @generated
 	 */
-	public static final int XML_EMBEDDED_ID = 23;
+	public static final int XML_EMBEDDED_ID = 24;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -1693,7 +1718,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEntity()
 	 * @generated
 	 */
-	public static final int XML_ENTITY = 24;
+	public static final int XML_ENTITY = 25;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -2094,7 +2119,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlEntityMappings()
 	 * @generated
 	 */
-	public static final int XML_ENTITY_MAPPINGS = 25;
+	public static final int XML_ENTITY_MAPPINGS = 26;
 	/**
 	 * The feature id for the '<em><b>Version</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -2279,7 +2304,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlId()
 	 * @generated
 	 */
-	public static final int XML_ID = 26;
+	public static final int XML_ID = 27;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -2432,7 +2457,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlInstantiationCopyPolicy()
 	 * @generated
 	 */
-	public static final int XML_INSTANTIATION_COPY_POLICY = 27;
+	public static final int XML_INSTANTIATION_COPY_POLICY = 28;
 	/**
 	 * The number of structural features of the '<em>Xml Instantiation Copy Policy</em>' class.
 	 * <!-- begin-user-doc -->
@@ -2449,7 +2474,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlJoinFetch()
 	 * @generated
 	 */
-	public static final int XML_JOIN_FETCH = 28;
+	public static final int XML_JOIN_FETCH = 29;
 	/**
 	 * The feature id for the '<em><b>Join Fetch</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -2474,7 +2499,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToMany()
 	 * @generated
 	 */
-	public static final int XML_MANY_TO_MANY = 29;
+	public static final int XML_MANY_TO_MANY = 30;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -2532,6 +2557,14 @@
 	 */
 	public static final int XML_MANY_TO_MANY__JOIN_TABLE = OrmPackage.XML_MANY_TO_MANY__JOIN_TABLE;
 	/**
+	 * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_MANY_TO_MANY__ORDER_COLUMN = OrmPackage.XML_MANY_TO_MANY__ORDER_COLUMN;
+	/**
 	 * The feature id for the '<em><b>Order By</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2548,14 +2581,6 @@
 	 */
 	public static final int XML_MANY_TO_MANY__MAP_KEY = OrmPackage.XML_MANY_TO_MANY__MAP_KEY;
 	/**
-	 * The feature id for the '<em><b>Order Column</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	public static final int XML_MANY_TO_MANY__ORDER_COLUMN = OrmPackage.XML_MANY_TO_MANY__ORDER_COLUMN;
-	/**
 	 * The feature id for the '<em><b>Map Key Class</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2659,7 +2684,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlManyToOne()
 	 * @generated
 	 */
-	public static final int XML_MANY_TO_ONE = 30;
+	public static final int XML_MANY_TO_ONE = 31;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -2780,7 +2805,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlMappedSuperclass()
 	 * @generated
 	 */
-	public static final int XML_MAPPED_SUPERCLASS = 31;
+	public static final int XML_MAPPED_SUPERCLASS = 32;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -2950,13 +2975,21 @@
 	 */
 	public static final int XML_MAPPED_SUPERCLASS__CACHEABLE = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 11;
 	/**
+	 * The feature id for the '<em><b>Cache Interceptor</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 12;
+	/**
 	 * The feature id for the '<em><b>Optimistic Locking</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	public static final int XML_MAPPED_SUPERCLASS__OPTIMISTIC_LOCKING = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 12;
+	public static final int XML_MAPPED_SUPERCLASS__OPTIMISTIC_LOCKING = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 13;
 	/**
 	 * The feature id for the '<em><b>Copy Policy</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
@@ -2964,7 +2997,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	public static final int XML_MAPPED_SUPERCLASS__COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 13;
+	public static final int XML_MAPPED_SUPERCLASS__COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 14;
 	/**
 	 * The feature id for the '<em><b>Instantiation Copy Policy</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
@@ -2972,7 +3005,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	public static final int XML_MAPPED_SUPERCLASS__INSTANTIATION_COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 14;
+	public static final int XML_MAPPED_SUPERCLASS__INSTANTIATION_COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 15;
 	/**
 	 * The feature id for the '<em><b>Clone Copy Policy</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
@@ -2980,7 +3013,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	public static final int XML_MAPPED_SUPERCLASS__CLONE_COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 15;
+	public static final int XML_MAPPED_SUPERCLASS__CLONE_COPY_POLICY = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 16;
 	/**
 	 * The feature id for the '<em><b>Exclude Default Mappings</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -2988,7 +3021,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	public static final int XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_MAPPINGS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 16;
+	public static final int XML_MAPPED_SUPERCLASS__EXCLUDE_DEFAULT_MAPPINGS = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 17;
 	/**
 	 * The number of structural features of the '<em>Xml Mapped Superclass</em>' class.
 	 * <!-- begin-user-doc -->
@@ -2996,7 +3029,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	public static final int XML_MAPPED_SUPERCLASS_FEATURE_COUNT = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 17;
+	public static final int XML_MAPPED_SUPERCLASS_FEATURE_COUNT = OrmPackage.XML_MAPPED_SUPERCLASS_FEATURE_COUNT + 18;
 	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlMutable <em>Xml Mutable</em>}' class.
 	 * <!-- begin-user-doc -->
@@ -3005,7 +3038,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlMutable()
 	 * @generated
 	 */
-	public static final int XML_MUTABLE = 32;
+	public static final int XML_MUTABLE = 33;
 	/**
 	 * The feature id for the '<em><b>Mutable</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3030,7 +3063,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlNamedStoredProcedureQuery()
 	 * @generated
 	 */
-	public static final int XML_NAMED_STORED_PROCEDURE_QUERY = 34;
+	public static final int XML_NAMED_STORED_PROCEDURE_QUERY = 35;
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3103,7 +3136,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlObjectTypeConverter()
 	 * @generated
 	 */
-	public static final int XML_OBJECT_TYPE_CONVERTER = 35;
+	public static final int XML_OBJECT_TYPE_CONVERTER = 36;
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3160,7 +3193,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToMany()
 	 * @generated
 	 */
-	public static final int XML_ONE_TO_MANY = 36;
+	public static final int XML_ONE_TO_MANY = 37;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3218,6 +3251,14 @@
 	 */
 	public static final int XML_ONE_TO_MANY__JOIN_TABLE = OrmPackage.XML_ONE_TO_MANY__JOIN_TABLE;
 	/**
+	 * The feature id for the '<em><b>Order Column</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_ONE_TO_MANY__ORDER_COLUMN = OrmPackage.XML_ONE_TO_MANY__ORDER_COLUMN;
+	/**
 	 * The feature id for the '<em><b>Order By</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3250,14 +3291,6 @@
 	 */
 	public static final int XML_ONE_TO_MANY__ORPHAN_REMOVAL = OrmPackage.XML_ONE_TO_MANY__ORPHAN_REMOVAL;
 	/**
-	 * The feature id for the '<em><b>Order Column</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	public static final int XML_ONE_TO_MANY__ORDER_COLUMN = OrmPackage.XML_ONE_TO_MANY__ORDER_COLUMN;
-	/**
 	 * The feature id for the '<em><b>Map Key Class</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3369,7 +3402,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOneToOne()
 	 * @generated
 	 */
-	public static final int XML_ONE_TO_ONE = 37;
+	public static final int XML_ONE_TO_ONE = 38;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3522,7 +3555,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOptimisticLocking()
 	 * @generated
 	 */
-	public static final int XML_OPTIMISTIC_LOCKING = 38;
+	public static final int XML_OPTIMISTIC_LOCKING = 39;
 	/**
 	 * The feature id for the '<em><b>Type</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3563,7 +3596,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOrderColumn()
 	 * @generated
 	 */
-	public static final int XML_ORDER_COLUMN = 39;
+	public static final int XML_ORDER_COLUMN = 40;
 	/**
 	 * The feature id for the '<em><b>Column Definition</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3628,7 +3661,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPersistenceUnitMetadata()
 	 * @generated
 	 */
-	public static final int XML_PERSISTENCE_UNIT_METADATA = 40;
+	public static final int XML_PERSISTENCE_UNIT_METADATA = 41;
 	/**
 	 * The feature id for the '<em><b>Description</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3677,7 +3710,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPrimaryKey()
 	 * @generated
 	 */
-	public static final int XML_PRIMARY_KEY = 41;
+	public static final int XML_PRIMARY_KEY = 42;
 	/**
 	 * The feature id for the '<em><b>Validation</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3710,7 +3743,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPrivateOwned()
 	 * @generated
 	 */
-	public static final int XML_PRIVATE_OWNED = 42;
+	public static final int XML_PRIVATE_OWNED = 43;
 	/**
 	 * The feature id for the '<em><b>Private Owned</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3735,7 +3768,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlProperty()
 	 * @generated
 	 */
-	public static final int XML_PROPERTY = 43;
+	public static final int XML_PROPERTY = 44;
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3776,7 +3809,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlPropertyContainer()
 	 * @generated
 	 */
-	public static final int XML_PROPERTY_CONTAINER = 44;
+	public static final int XML_PROPERTY_CONTAINER = 45;
 	/**
 	 * The feature id for the '<em><b>Properties</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -3801,7 +3834,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryContainer()
 	 * @generated
 	 */
-	public static final int XML_QUERY_CONTAINER = 45;
+	public static final int XML_QUERY_CONTAINER = 46;
 	/**
 	 * The feature id for the '<em><b>Named Stored Procedure Queries</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
@@ -3819,6 +3852,79 @@
 	 */
 	public static final int XML_QUERY_CONTAINER_FEATURE_COUNT = 1;
 	/**
+	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors <em>Xml Query Redirectors</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryRedirectors()
+	 * @generated
+	 */
+	public static final int XML_QUERY_REDIRECTORS = 47;
+	/**
+	 * The feature id for the '<em><b>All Queries</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS__ALL_QUERIES = EclipseLinkOrmV2_0Package.XML_QUERY_REDIRECTORS2_0__ALL_QUERIES;
+	/**
+	 * The feature id for the '<em><b>Read All</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS__READ_ALL = EclipseLinkOrmV2_0Package.XML_QUERY_REDIRECTORS2_0__READ_ALL;
+	/**
+	 * The feature id for the '<em><b>Read Object</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS__READ_OBJECT = EclipseLinkOrmV2_0Package.XML_QUERY_REDIRECTORS2_0__READ_OBJECT;
+	/**
+	 * The feature id for the '<em><b>Report</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS__REPORT = EclipseLinkOrmV2_0Package.XML_QUERY_REDIRECTORS2_0__REPORT;
+	/**
+	 * The feature id for the '<em><b>Update</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS__UPDATE = EclipseLinkOrmV2_0Package.XML_QUERY_REDIRECTORS2_0__UPDATE;
+	/**
+	 * The feature id for the '<em><b>Insert</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS__INSERT = EclipseLinkOrmV2_0Package.XML_QUERY_REDIRECTORS2_0__INSERT;
+	/**
+	 * The feature id for the '<em><b>Delete</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS__DELETE = EclipseLinkOrmV2_0Package.XML_QUERY_REDIRECTORS2_0__DELETE;
+	/**
+	 * The number of structural features of the '<em>Xml Query Redirectors</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS_FEATURE_COUNT = EclipseLinkOrmV2_0Package.XML_QUERY_REDIRECTORS2_0_FEATURE_COUNT + 0;
+	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlReadOnly <em>Xml Read Only</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3826,7 +3932,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlReadOnly()
 	 * @generated
 	 */
-	public static final int XML_READ_ONLY = 46;
+	public static final int XML_READ_ONLY = 48;
 	/**
 	 * The feature id for the '<em><b>Read Only</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3851,7 +3957,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlStoredProcedureParameter()
 	 * @generated
 	 */
-	public static final int XML_STORED_PROCEDURE_PARAMETER = 47;
+	public static final int XML_STORED_PROCEDURE_PARAMETER = 49;
 	/**
 	 * The feature id for the '<em><b>Direction</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3916,7 +4022,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlStructConverter()
 	 * @generated
 	 */
-	public static final int XML_STRUCT_CONVERTER = 48;
+	public static final int XML_STRUCT_CONVERTER = 50;
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3949,7 +4055,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTimeOfDay()
 	 * @generated
 	 */
-	public static final int XML_TIME_OF_DAY = 49;
+	public static final int XML_TIME_OF_DAY = 51;
 	/**
 	 * The feature id for the '<em><b>Hour</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -3998,7 +4104,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTransformation()
 	 * @generated
 	 */
-	public static final int XML_TRANSFORMATION = 50;
+	public static final int XML_TRANSFORMATION = 52;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -4047,7 +4153,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTransient()
 	 * @generated
 	 */
-	public static final int XML_TRANSIENT = 51;
+	public static final int XML_TRANSIENT = 53;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -4096,7 +4202,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlTypeConverter()
 	 * @generated
 	 */
-	public static final int XML_TYPE_CONVERTER = 52;
+	public static final int XML_TYPE_CONVERTER = 54;
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -4137,7 +4243,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVariableOneToOne()
 	 * @generated
 	 */
-	public static final int XML_VARIABLE_ONE_TO_ONE = 53;
+	public static final int XML_VARIABLE_ONE_TO_ONE = 55;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -4186,7 +4292,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlVersion()
 	 * @generated
 	 */
-	public static final int XML_VERSION = 54;
+	public static final int XML_VERSION = 56;
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -4315,7 +4421,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getCacheCoordinationType()
 	 * @generated
 	 */
-	public static final int CACHE_COORDINATION_TYPE = 55;
+	public static final int CACHE_COORDINATION_TYPE = 57;
 	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.CacheType <em>Cache Type</em>}' enum.
 	 * <!-- begin-user-doc -->
@@ -4324,7 +4430,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getCacheType()
 	 * @generated
 	 */
-	public static final int CACHE_TYPE = 56;
+	public static final int CACHE_TYPE = 58;
 	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlChangeTrackingType <em>Xml Change Tracking Type</em>}' enum.
 	 * <!-- begin-user-doc -->
@@ -4333,7 +4439,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlChangeTrackingType()
 	 * @generated
 	 */
-	public static final int XML_CHANGE_TRACKING_TYPE = 57;
+	public static final int XML_CHANGE_TRACKING_TYPE = 59;
 	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlDirection <em>Xml Direction</em>}' enum.
 	 * <!-- begin-user-doc -->
@@ -4342,7 +4448,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlDirection()
 	 * @generated
 	 */
-	public static final int XML_DIRECTION = 58;
+	public static final int XML_DIRECTION = 60;
 	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.ExistenceType <em>Existence Type</em>}' enum.
 	 * <!-- begin-user-doc -->
@@ -4351,7 +4457,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getExistenceType()
 	 * @generated
 	 */
-	public static final int EXISTENCE_TYPE = 59;
+	public static final int EXISTENCE_TYPE = 61;
 	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlJoinFetchType <em>Xml Join Fetch Type</em>}' enum.
 	 * <!-- begin-user-doc -->
@@ -4360,7 +4466,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlJoinFetchType()
 	 * @generated
 	 */
-	public static final int XML_JOIN_FETCH_TYPE = 60;
+	public static final int XML_JOIN_FETCH_TYPE = 62;
 	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlOptimisticLockingType <em>Xml Optimistic Locking Type</em>}' enum.
 	 * <!-- begin-user-doc -->
@@ -4369,7 +4475,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlOptimisticLockingType()
 	 * @generated
 	 */
-	public static final int XML_OPTIMISTIC_LOCKING_TYPE = 61;
+	public static final int XML_OPTIMISTIC_LOCKING_TYPE = 63;
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4429,6 +4535,12 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	private EClass xmlCacheInterceptorEClass = null;
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	private EClass xmlChangeTrackingEClass = null;
 	/**
 	 * <!-- begin-user-doc -->
@@ -4651,6 +4763,12 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	private EClass xmlQueryRedirectorsEClass = null;
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	private EClass xmlReadOnlyEClass = null;
 	/**
 	 * <!-- begin-user-doc -->
@@ -5189,6 +5307,19 @@
 	}
 
 	/**
+	 * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlCacheInterceptor <em>Xml Cache Interceptor</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Xml Cache Interceptor</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlCacheInterceptor
+	 * @generated
+	 */
+	public EClass getXmlCacheInterceptor()
+	{
+		return xmlCacheInterceptorEClass;
+	}
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlChangeTracking <em>Xml Change Tracking</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6468,6 +6599,19 @@
 	}
 
 	/**
+	 * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors <em>Xml Query Redirectors</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Xml Query Redirectors</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors
+	 * @generated
+	 */
+	public EClass getXmlQueryRedirectors()
+	{
+		return xmlQueryRedirectorsEClass;
+	}
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlReadOnly <em>Xml Read Only</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6939,6 +7083,8 @@
 		createEReference(xmlCacheHolderEClass, XML_CACHE_HOLDER__CACHE);
 		createEAttribute(xmlCacheHolderEClass, XML_CACHE_HOLDER__EXISTENCE_CHECKING);
 
+		xmlCacheInterceptorEClass = createEClass(XML_CACHE_INTERCEPTOR);
+
 		xmlChangeTrackingEClass = createEClass(XML_CHANGE_TRACKING);
 		createEAttribute(xmlChangeTrackingEClass, XML_CHANGE_TRACKING__TYPE);
 
@@ -7070,6 +7216,8 @@
 		xmlQueryContainerEClass = createEClass(XML_QUERY_CONTAINER);
 		createEReference(xmlQueryContainerEClass, XML_QUERY_CONTAINER__NAMED_STORED_PROCEDURE_QUERIES);
 
+		xmlQueryRedirectorsEClass = createEClass(XML_QUERY_REDIRECTORS);
+
 		xmlReadOnlyEClass = createEClass(XML_READ_ONLY);
 		createEAttribute(xmlReadOnlyEClass, XML_READ_ONLY__READ_ONLY);
 
@@ -7164,6 +7312,7 @@
 		xmlBasicCollectionEClass.getESuperTypes().add(this.getXmlAttributeMapping());
 		xmlBasicMapEClass.getESuperTypes().add(theOrmPackage.getAbstractXmlAttributeMapping());
 		xmlBasicMapEClass.getESuperTypes().add(this.getXmlAttributeMapping());
+		xmlCacheInterceptorEClass.getESuperTypes().add(theEclipseLinkOrmV2_0Package.getXmlCacheInterceptor2_0());
 		xmlConverterEClass.getESuperTypes().add(this.getXmlNamedConverter());
 		xmlConvertibleMappingEClass.getESuperTypes().add(theOrmPackage.getXmlConvertibleMapping());
 		xmlConvertibleMappingEClass.getESuperTypes().add(this.getXmlConverterHolder());
@@ -7224,6 +7373,7 @@
 		xmlOrderColumnEClass.getESuperTypes().add(theEclipseLinkOrmV2_0Package.getXmlOrderColumn_2_0());
 		xmlPersistenceUnitMetadataEClass.getESuperTypes().add(theOrmPackage.getXmlPersistenceUnitMetadata());
 		xmlPrimaryKeyEClass.getESuperTypes().add(theEclipseLinkOrmV1_1Package.getXmlPrimaryKey_1_1());
+		xmlQueryRedirectorsEClass.getESuperTypes().add(theEclipseLinkOrmV2_0Package.getXmlQueryRedirectors2_0());
 		xmlStructConverterEClass.getESuperTypes().add(this.getXmlNamedConverter());
 		xmlTransformationEClass.getESuperTypes().add(theOrmPackage.getAbstractXmlAttributeMapping());
 		xmlTransformationEClass.getESuperTypes().add(this.getXmlAttributeMapping());
@@ -7274,6 +7424,8 @@
 		initEReference(getXmlCacheHolder_Cache(), this.getXmlCache(), null, "cache", null, 0, 1, XmlCacheHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getXmlCacheHolder_ExistenceChecking(), this.getExistenceType(), "existenceChecking", "", 0, 1, XmlCacheHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+		initEClass(xmlCacheInterceptorEClass, XmlCacheInterceptor.class, "XmlCacheInterceptor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
 		initEClass(xmlChangeTrackingEClass, XmlChangeTracking.class, "XmlChangeTracking", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getXmlChangeTracking_Type(), this.getXmlChangeTrackingType(), "type", null, 0, 1, XmlChangeTracking.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
@@ -7405,6 +7557,8 @@
 		initEClass(xmlQueryContainerEClass, XmlQueryContainer.class, "XmlQueryContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getXmlQueryContainer_NamedStoredProcedureQueries(), this.getXmlNamedStoredProcedureQuery(), null, "namedStoredProcedureQueries", null, 0, -1, XmlQueryContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+		initEClass(xmlQueryRedirectorsEClass, XmlQueryRedirectors.class, "XmlQueryRedirectors", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
 		initEClass(xmlReadOnlyEClass, XmlReadOnly.class, "XmlReadOnly", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getXmlReadOnly_ReadOnly(), theXMLTypePackage.getBooleanObject(), "readOnly", null, 0, 1, XmlReadOnly.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
@@ -7734,6 +7888,16 @@
 		public static final EAttribute XML_CACHE_HOLDER__EXISTENCE_CHECKING = eINSTANCE.getXmlCacheHolder_ExistenceChecking();
 
 		/**
+		 * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlCacheInterceptor <em>Xml Cache Interceptor</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlCacheInterceptor
+		 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCacheInterceptor()
+		 * @generated
+		 */
+		public static final EClass XML_CACHE_INTERCEPTOR = eINSTANCE.getXmlCacheInterceptor();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlChangeTracking <em>Xml Change Tracking</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -8560,6 +8724,16 @@
 		public static final EReference XML_QUERY_CONTAINER__NAMED_STORED_PROCEDURE_QUERIES = eINSTANCE.getXmlQueryContainer_NamedStoredProcedureQueries();
 
 		/**
+		 * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors <em>Xml Query Redirectors</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors
+		 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryRedirectors()
+		 * @generated
+		 */
+		public static final EClass XML_QUERY_REDIRECTORS = eINSTANCE.getXmlQueryRedirectors();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlReadOnly <em>Xml Read Only</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlCacheInterceptor.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlCacheInterceptor.java
new file mode 100644
index 0000000..55c9c3c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlCacheInterceptor.java
@@ -0,0 +1,225 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ * 
+ * Contributors:
+ *     Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.core.resource.orm.JPA;
+import org.eclipse.jpt.core.resource.xml.AbstractJpaEObject;
+
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Cache Interceptor</b></em>'.
+ * 
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCacheInterceptor()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlCacheInterceptor extends AbstractJpaEObject implements XmlCacheInterceptor2_0
+{
+	/**
+	 * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClassName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CLASS_NAME_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getClassName()
+	 * @generated
+	 * @ordered
+	 */
+	protected String className = CLASS_NAME_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected XmlCacheInterceptor()
+	{
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass()
+	{
+		return EclipseLinkOrmPackage.Literals.XML_CACHE_INTERCEPTOR;
+	}
+
+	/**
+	 * Returns the value of the '<em><b>Class Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Class Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Class Name</em>' attribute.
+	 * @see #setClassName(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlCacheInterceptor2_0_ClassName()
+	 * @model
+	 * @generated
+	 */
+	public String getClassName()
+	{
+		return className;
+	}
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlCacheInterceptor#getClassName <em>Class Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Class Name</em>' attribute.
+	 * @see #getClassName()
+	 * @generated
+	 */
+	public void setClassName(String newClassName)
+	{
+		String oldClassName = className;
+		className = newClassName;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_CACHE_INTERCEPTOR__CLASS_NAME, oldClassName, className));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType)
+	{
+		switch (featureID)
+		{
+			case EclipseLinkOrmPackage.XML_CACHE_INTERCEPTOR__CLASS_NAME:
+				return getClassName();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue)
+	{
+		switch (featureID)
+		{
+			case EclipseLinkOrmPackage.XML_CACHE_INTERCEPTOR__CLASS_NAME:
+				setClassName((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID)
+	{
+		switch (featureID)
+		{
+			case EclipseLinkOrmPackage.XML_CACHE_INTERCEPTOR__CLASS_NAME:
+				setClassName(CLASS_NAME_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID)
+	{
+		switch (featureID)
+		{
+			case EclipseLinkOrmPackage.XML_CACHE_INTERCEPTOR__CLASS_NAME:
+				return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString()
+	{
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (className: ");
+		result.append(className);
+		result.append(')');
+		return result.toString();
+	}
+	
+	// ********** translators **********
+
+	public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+		return new SimpleTranslator(
+			elementName,
+			structuralFeature,
+			Translator.END_TAG_NO_INDENT,
+			buildTranslatorChildren()
+		);
+	}
+
+	private static Translator[] buildTranslatorChildren() {
+		return new Translator[] {
+			buildClassTranslator()
+		};
+	}
+		
+	protected static Translator buildClassTranslator() {
+		return new Translator(JPA.CLASS, EclipseLinkOrmV2_0Package.eINSTANCE.getXmlCacheInterceptor2_0_ClassName(), Translator.DOM_ATTRIBUTE);
+	}
+
+} // XmlCacheInterceptor
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntity.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntity.java
index a05e2fc..33aa5fa 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntity.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlEntity.java
@@ -27,6 +27,8 @@
 import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.EclipseLinkOrmV1_1Package;
 import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.XmlEntity_1_1;
 import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.XmlPrimaryKey_1_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLink2_0;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package;
 import org.eclipse.wst.common.internal.emf.resource.Translator;
 
 /**
@@ -1497,6 +1499,7 @@
 			buildDiscriminatorColumnTranslator(),
 			buildOptimisticLockingTranslator(),
 			buildCacheTranslator(),
+			buildCacheInterceptorTranslator(),
 			buildConverterTranslator(),
 			buildTypeConverterTranslator(),
 			buildObjectTypeConverterTranslator(),
@@ -1510,6 +1513,7 @@
 			buildNamedNativeQueryTranslator(),
 			buildNamedStoredProcedureQueryTranslator(),
 			buildSqlResultSetMappingTranslator(),
+			buildQueryRedirectorsTranslator(),
 			buildExcludeDefaultListenersTranslator(),
 			buildExcludeSuperclassListenersTranslator(),
 			buildEntityListenersTranslator(),
@@ -1547,6 +1551,14 @@
 		return XmlCache.buildTranslator(EclipseLink.CACHE, EclipseLinkOrmPackage.eINSTANCE.getXmlCacheHolder_Cache());
 	}
 	
+	protected static Translator buildCacheInterceptorTranslator() {
+		return XmlCacheInterceptor.buildTranslator(EclipseLink2_0.CACHE_INTERCEPTOR, EclipseLinkOrmV2_0Package.eINSTANCE.getXmlEntity2_0_CacheInterceptor());
+	}
+	
+	protected static Translator buildQueryRedirectorsTranslator() {
+		return XmlQueryRedirectors.buildTranslator(EclipseLink2_0.QUERY_REDIRECTORS, EclipseLinkOrmV2_0Package.eINSTANCE.getXmlEntity2_0_QueryRedirectors());
+	}
+	
 	protected static Translator buildConverterTranslator() {
 		return XmlConverter.buildTranslator(EclipseLink.CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlConvertersHolder_Converters());
 	}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlMappedSuperclass.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlMappedSuperclass.java
index 34c6c25..b04ea5f 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlMappedSuperclass.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlMappedSuperclass.java
@@ -27,6 +27,9 @@
 import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.EclipseLink1_1;
 import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.EclipseLinkOrmV1_1Package;
 import org.eclipse.jpt.eclipselink.core.resource.orm.v1_1.XmlMappedSuperclass_1_1;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLink2_0;
 import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlMappedSuperclass_2_0;
 import org.eclipse.wst.common.internal.emf.resource.Translator;
 
@@ -210,6 +213,16 @@
 	protected Boolean cacheable = CACHEABLE_EDEFAULT;
 
 	/**
+	 * The cached value of the '{@link #getCacheInterceptor() <em>Cache Interceptor</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getCacheInterceptor()
+	 * @generated
+	 * @ordered
+	 */
+	protected XmlCacheInterceptor2_0 cacheInterceptor;
+
+	/**
 	 * The cached value of the '{@link #getOptimisticLocking() <em>Optimistic Locking</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -995,6 +1008,66 @@
 	}
 
 	/**
+	 * Returns the value of the '<em><b>Cache Interceptor</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Cache Interceptor</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Cache Interceptor</em>' containment reference.
+	 * @see #setCacheInterceptor(XmlCacheInterceptor2_0)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlMappedSuperclass_2_0_CacheInterceptor()
+	 * @model containment="true"
+	 * @generated
+	 */
+	public XmlCacheInterceptor2_0 getCacheInterceptor()
+	{
+		return cacheInterceptor;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetCacheInterceptor(XmlCacheInterceptor2_0 newCacheInterceptor, NotificationChain msgs)
+	{
+		XmlCacheInterceptor2_0 oldCacheInterceptor = cacheInterceptor;
+		cacheInterceptor = newCacheInterceptor;
+		if (eNotificationRequired())
+		{
+			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR, oldCacheInterceptor, newCacheInterceptor);
+			if (msgs == null) msgs = notification; else msgs.add(notification);
+		}
+		return msgs;
+	}
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlMappedSuperclass#getCacheInterceptor <em>Cache Interceptor</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Cache Interceptor</em>' containment reference.
+	 * @see #getCacheInterceptor()
+	 * @generated
+	 */
+	public void setCacheInterceptor(XmlCacheInterceptor2_0 newCacheInterceptor)
+	{
+		if (newCacheInterceptor != cacheInterceptor)
+		{
+			NotificationChain msgs = null;
+			if (cacheInterceptor != null)
+				msgs = ((InternalEObject)cacheInterceptor).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR, null, msgs);
+			if (newCacheInterceptor != null)
+				msgs = ((InternalEObject)newCacheInterceptor).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR, null, msgs);
+			msgs = basicSetCacheInterceptor(newCacheInterceptor, msgs);
+			if (msgs != null) msgs.dispatch();
+		}
+		else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR, newCacheInterceptor, newCacheInterceptor));
+	}
+
+	/**
 	 * Returns the value of the '<em><b>Exclude Default Mappings</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <p>
@@ -1057,6 +1130,8 @@
 				return ((InternalEList<?>)getProperties()).basicRemove(otherEnd, msgs);
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__PRIMARY_KEY:
 				return basicSetPrimaryKey(null, msgs);
+			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR:
+				return basicSetCacheInterceptor(null, msgs);
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__OPTIMISTIC_LOCKING:
 				return basicSetOptimisticLocking(null, msgs);
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__COPY_POLICY:
@@ -1103,6 +1178,8 @@
 				return getPrimaryKey();
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHEABLE:
 				return getCacheable();
+			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR:
+				return getCacheInterceptor();
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__OPTIMISTIC_LOCKING:
 				return getOptimisticLocking();
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__COPY_POLICY:
@@ -1169,6 +1246,9 @@
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHEABLE:
 				setCacheable((Boolean)newValue);
 				return;
+			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR:
+				setCacheInterceptor((XmlCacheInterceptor2_0)newValue);
+				return;
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__OPTIMISTIC_LOCKING:
 				setOptimisticLocking((XmlOptimisticLocking)newValue);
 				return;
@@ -1234,6 +1314,9 @@
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHEABLE:
 				setCacheable(CACHEABLE_EDEFAULT);
 				return;
+			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR:
+				setCacheInterceptor((XmlCacheInterceptor2_0)null);
+				return;
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__OPTIMISTIC_LOCKING:
 				setOptimisticLocking((XmlOptimisticLocking)null);
 				return;
@@ -1287,6 +1370,8 @@
 				return primaryKey != null;
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHEABLE:
 				return CACHEABLE_EDEFAULT == null ? cacheable != null : !CACHEABLE_EDEFAULT.equals(cacheable);
+			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR:
+				return cacheInterceptor != null;
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__OPTIMISTIC_LOCKING:
 				return optimisticLocking != null;
 			case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__COPY_POLICY:
@@ -1381,6 +1466,7 @@
 		{
 			switch (derivedFeatureID)
 			{
+				case EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR: return EclipseLinkOrmV2_0Package.XML_MAPPED_SUPERCLASS_20__CACHE_INTERCEPTOR;
 				default: return -1;
 			}
 		}
@@ -1467,6 +1553,7 @@
 		{
 			switch (baseFeatureID)
 			{
+				case EclipseLinkOrmV2_0Package.XML_MAPPED_SUPERCLASS_20__CACHE_INTERCEPTOR: return EclipseLinkOrmPackage.XML_MAPPED_SUPERCLASS__CACHE_INTERCEPTOR;
 				default: return -1;
 			}
 		}
@@ -1532,6 +1619,7 @@
 			buildPrimaryKeyTranslator(),
 			buildOptimisticLockingTranslator(),
 			buildCacheTranslator(),
+			buildCacheInterceptorTranslator(),
 			buildConverterTranslator(),
 			buildTypeConverterTranslator(),
 			buildObjectTypeConverterTranslator(),
@@ -1590,6 +1678,10 @@
 		return XmlCache.buildTranslator(EclipseLink.CACHE, EclipseLinkOrmPackage.eINSTANCE.getXmlCacheHolder_Cache());
 	}
 	
+	protected static Translator buildCacheInterceptorTranslator() {
+		return XmlCacheInterceptor.buildTranslator(EclipseLink2_0.CACHE_INTERCEPTOR, EclipseLinkOrmV2_0Package.eINSTANCE.getXmlEntity2_0_CacheInterceptor());
+	}
+	
 	protected static Translator buildConverterTranslator() {
 		return XmlConverter.buildTranslator(EclipseLink.CONVERTER, EclipseLinkOrmPackage.eINSTANCE.getXmlConvertersHolder_Converters());
 	}
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlQueryRedirectors.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlQueryRedirectors.java
new file mode 100644
index 0000000..41f5e7c
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/XmlQueryRedirectors.java
@@ -0,0 +1,657 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ * 
+ * Contributors:
+ *     Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.jpt.core.internal.utility.translators.SimpleTranslator;
+import org.eclipse.jpt.core.resource.xml.AbstractJpaEObject;
+
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLink2_0;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package;
+import org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0;
+import org.eclipse.wst.common.internal.emf.resource.Translator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Query Redirectors</b></em>'.
+ * 
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryRedirectors()
+ * @model kind="class"
+ * @generated
+ */
+public class XmlQueryRedirectors extends AbstractJpaEObject implements XmlQueryRedirectors2_0
+{
+	/**
+	 * The default value of the '{@link #getAllQueries() <em>All Queries</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAllQueries()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ALL_QUERIES_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getAllQueries() <em>All Queries</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAllQueries()
+	 * @generated
+	 * @ordered
+	 */
+	protected String allQueries = ALL_QUERIES_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getReadAll() <em>Read All</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReadAll()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String READ_ALL_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getReadAll() <em>Read All</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReadAll()
+	 * @generated
+	 * @ordered
+	 */
+	protected String readAll = READ_ALL_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getReadObject() <em>Read Object</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReadObject()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String READ_OBJECT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getReadObject() <em>Read Object</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReadObject()
+	 * @generated
+	 * @ordered
+	 */
+	protected String readObject = READ_OBJECT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getReport() <em>Report</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReport()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String REPORT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getReport() <em>Report</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReport()
+	 * @generated
+	 * @ordered
+	 */
+	protected String report = REPORT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getUpdate() <em>Update</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUpdate()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String UPDATE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getUpdate() <em>Update</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getUpdate()
+	 * @generated
+	 * @ordered
+	 */
+	protected String update = UPDATE_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getInsert() <em>Insert</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInsert()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String INSERT_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getInsert() <em>Insert</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getInsert()
+	 * @generated
+	 * @ordered
+	 */
+	protected String insert = INSERT_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDelete() <em>Delete</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDelete()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DELETE_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDelete() <em>Delete</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDelete()
+	 * @generated
+	 * @ordered
+	 */
+	protected String delete = DELETE_EDEFAULT;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected XmlQueryRedirectors()
+	{
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass()
+	{
+		return EclipseLinkOrmPackage.Literals.XML_QUERY_REDIRECTORS;
+	}
+
+	/**
+	 * Returns the value of the '<em><b>All Queries</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>All Queries</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>All Queries</em>' attribute.
+	 * @see #setAllQueries(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryRedirectors2_0_AllQueries()
+	 * @model
+	 * @generated
+	 */
+	public String getAllQueries()
+	{
+		return allQueries;
+	}
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors#getAllQueries <em>All Queries</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>All Queries</em>' attribute.
+	 * @see #getAllQueries()
+	 * @generated
+	 */
+	public void setAllQueries(String newAllQueries)
+	{
+		String oldAllQueries = allQueries;
+		allQueries = newAllQueries;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__ALL_QUERIES, oldAllQueries, allQueries));
+	}
+
+	/**
+	 * Returns the value of the '<em><b>Read All</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Read All</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Read All</em>' attribute.
+	 * @see #setReadAll(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryRedirectors2_0_ReadAll()
+	 * @model
+	 * @generated
+	 */
+	public String getReadAll()
+	{
+		return readAll;
+	}
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors#getReadAll <em>Read All</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Read All</em>' attribute.
+	 * @see #getReadAll()
+	 * @generated
+	 */
+	public void setReadAll(String newReadAll)
+	{
+		String oldReadAll = readAll;
+		readAll = newReadAll;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__READ_ALL, oldReadAll, readAll));
+	}
+
+	/**
+	 * Returns the value of the '<em><b>Read Object</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Read Object</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Read Object</em>' attribute.
+	 * @see #setReadObject(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryRedirectors2_0_ReadObject()
+	 * @model
+	 * @generated
+	 */
+	public String getReadObject()
+	{
+		return readObject;
+	}
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors#getReadObject <em>Read Object</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Read Object</em>' attribute.
+	 * @see #getReadObject()
+	 * @generated
+	 */
+	public void setReadObject(String newReadObject)
+	{
+		String oldReadObject = readObject;
+		readObject = newReadObject;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__READ_OBJECT, oldReadObject, readObject));
+	}
+
+	/**
+	 * Returns the value of the '<em><b>Report</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Report</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Report</em>' attribute.
+	 * @see #setReport(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryRedirectors2_0_Report()
+	 * @model
+	 * @generated
+	 */
+	public String getReport()
+	{
+		return report;
+	}
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors#getReport <em>Report</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Report</em>' attribute.
+	 * @see #getReport()
+	 * @generated
+	 */
+	public void setReport(String newReport)
+	{
+		String oldReport = report;
+		report = newReport;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__REPORT, oldReport, report));
+	}
+
+	/**
+	 * Returns the value of the '<em><b>Update</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Update</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Update</em>' attribute.
+	 * @see #setUpdate(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryRedirectors2_0_Update()
+	 * @model
+	 * @generated
+	 */
+	public String getUpdate()
+	{
+		return update;
+	}
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors#getUpdate <em>Update</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Update</em>' attribute.
+	 * @see #getUpdate()
+	 * @generated
+	 */
+	public void setUpdate(String newUpdate)
+	{
+		String oldUpdate = update;
+		update = newUpdate;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__UPDATE, oldUpdate, update));
+	}
+
+	/**
+	 * Returns the value of the '<em><b>Insert</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Insert</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Insert</em>' attribute.
+	 * @see #setInsert(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryRedirectors2_0_Insert()
+	 * @model
+	 * @generated
+	 */
+	public String getInsert()
+	{
+		return insert;
+	}
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors#getInsert <em>Insert</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Insert</em>' attribute.
+	 * @see #getInsert()
+	 * @generated
+	 */
+	public void setInsert(String newInsert)
+	{
+		String oldInsert = insert;
+		insert = newInsert;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__INSERT, oldInsert, insert));
+	}
+
+	/**
+	 * Returns the value of the '<em><b>Delete</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Delete</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Delete</em>' attribute.
+	 * @see #setDelete(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmPackage#getXmlQueryRedirectors2_0_Delete()
+	 * @model
+	 * @generated
+	 */
+	public String getDelete()
+	{
+		return delete;
+	}
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.XmlQueryRedirectors#getDelete <em>Delete</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Delete</em>' attribute.
+	 * @see #getDelete()
+	 * @generated
+	 */
+	public void setDelete(String newDelete)
+	{
+		String oldDelete = delete;
+		delete = newDelete;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__DELETE, oldDelete, delete));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType)
+	{
+		switch (featureID)
+		{
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__ALL_QUERIES:
+				return getAllQueries();
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__READ_ALL:
+				return getReadAll();
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__READ_OBJECT:
+				return getReadObject();
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__REPORT:
+				return getReport();
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__UPDATE:
+				return getUpdate();
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__INSERT:
+				return getInsert();
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__DELETE:
+				return getDelete();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue)
+	{
+		switch (featureID)
+		{
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__ALL_QUERIES:
+				setAllQueries((String)newValue);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__READ_ALL:
+				setReadAll((String)newValue);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__READ_OBJECT:
+				setReadObject((String)newValue);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__REPORT:
+				setReport((String)newValue);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__UPDATE:
+				setUpdate((String)newValue);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__INSERT:
+				setInsert((String)newValue);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__DELETE:
+				setDelete((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID)
+	{
+		switch (featureID)
+		{
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__ALL_QUERIES:
+				setAllQueries(ALL_QUERIES_EDEFAULT);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__READ_ALL:
+				setReadAll(READ_ALL_EDEFAULT);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__READ_OBJECT:
+				setReadObject(READ_OBJECT_EDEFAULT);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__REPORT:
+				setReport(REPORT_EDEFAULT);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__UPDATE:
+				setUpdate(UPDATE_EDEFAULT);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__INSERT:
+				setInsert(INSERT_EDEFAULT);
+				return;
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__DELETE:
+				setDelete(DELETE_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID)
+	{
+		switch (featureID)
+		{
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__ALL_QUERIES:
+				return ALL_QUERIES_EDEFAULT == null ? allQueries != null : !ALL_QUERIES_EDEFAULT.equals(allQueries);
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__READ_ALL:
+				return READ_ALL_EDEFAULT == null ? readAll != null : !READ_ALL_EDEFAULT.equals(readAll);
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__READ_OBJECT:
+				return READ_OBJECT_EDEFAULT == null ? readObject != null : !READ_OBJECT_EDEFAULT.equals(readObject);
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__REPORT:
+				return REPORT_EDEFAULT == null ? report != null : !REPORT_EDEFAULT.equals(report);
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__UPDATE:
+				return UPDATE_EDEFAULT == null ? update != null : !UPDATE_EDEFAULT.equals(update);
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__INSERT:
+				return INSERT_EDEFAULT == null ? insert != null : !INSERT_EDEFAULT.equals(insert);
+			case EclipseLinkOrmPackage.XML_QUERY_REDIRECTORS__DELETE:
+				return DELETE_EDEFAULT == null ? delete != null : !DELETE_EDEFAULT.equals(delete);
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String toString()
+	{
+		if (eIsProxy()) return super.toString();
+
+		StringBuffer result = new StringBuffer(super.toString());
+		result.append(" (allQueries: ");
+		result.append(allQueries);
+		result.append(", readAll: ");
+		result.append(readAll);
+		result.append(", readObject: ");
+		result.append(readObject);
+		result.append(", report: ");
+		result.append(report);
+		result.append(", update: ");
+		result.append(update);
+		result.append(", insert: ");
+		result.append(insert);
+		result.append(", delete: ");
+		result.append(delete);
+		result.append(')');
+		return result.toString();
+	}
+	
+	
+	// ********** translators **********
+
+	public static Translator buildTranslator(String elementName, EStructuralFeature structuralFeature) {
+		return new SimpleTranslator(
+			elementName,
+			structuralFeature,
+			Translator.END_TAG_NO_INDENT,
+			buildTranslatorChildren()
+		);
+	}
+
+	private static Translator[] buildTranslatorChildren() {
+		return new Translator[] {
+			buildAllQueriesTranslator(),
+			buildReadAllTranslator(),
+			buildReadObjectTranslator(),
+			buildReportTranslator(),
+			buildUpdateTranslator(),
+			buildInsertTranslator(),
+			buildDeleteTranslator(),
+		};
+	}
+	
+	protected static Translator buildAllQueriesTranslator() {
+		return new Translator(EclipseLink2_0.QUERY_REDIRECTORS__ALL_QUERIES, EclipseLinkOrmV2_0Package.eINSTANCE.getXmlQueryRedirectors2_0_AllQueries(), Translator.DOM_ATTRIBUTE);
+	}
+	
+	protected static Translator buildReadAllTranslator() {
+		return new Translator(EclipseLink2_0.QUERY_REDIRECTORS__READ_ALL, EclipseLinkOrmV2_0Package.eINSTANCE.getXmlQueryRedirectors2_0_ReadAll(), Translator.DOM_ATTRIBUTE);
+	}
+	
+	protected static Translator buildReadObjectTranslator() {
+		return new Translator(EclipseLink2_0.QUERY_REDIRECTORS__READ_OBJECT, EclipseLinkOrmV2_0Package.eINSTANCE.getXmlQueryRedirectors2_0_ReadObject(), Translator.DOM_ATTRIBUTE);
+	}
+	
+	protected static Translator buildReportTranslator() {
+		return new Translator(EclipseLink2_0.QUERY_REDIRECTORS__REPORT, EclipseLinkOrmV2_0Package.eINSTANCE.getXmlQueryRedirectors2_0_AllQueries(), Translator.DOM_ATTRIBUTE);
+	}
+	
+	protected static Translator buildUpdateTranslator() {
+		return new Translator(EclipseLink2_0.QUERY_REDIRECTORS__UPDATE, EclipseLinkOrmV2_0Package.eINSTANCE.getXmlQueryRedirectors2_0_AllQueries(), Translator.DOM_ATTRIBUTE);
+	}
+	
+	protected static Translator buildInsertTranslator() {
+		return new Translator(EclipseLink2_0.QUERY_REDIRECTORS__INSERT, EclipseLinkOrmV2_0Package.eINSTANCE.getXmlQueryRedirectors2_0_AllQueries(), Translator.DOM_ATTRIBUTE);
+	}
+	
+	protected static Translator buildDeleteTranslator() {
+		return new Translator(EclipseLink2_0.QUERY_REDIRECTORS__DELETE, EclipseLinkOrmV2_0Package.eINSTANCE.getXmlQueryRedirectors2_0_AllQueries(), Translator.DOM_ATTRIBUTE);
+	}
+} // XmlQueryRedirectors
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLink2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLink2_0.java
index f1ee902..f47e1a9 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLink2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLink2_0.java
@@ -23,6 +23,19 @@
 	
 	// EclipseLink 2.0 specific nodes
 
+	String CACHE_INTERCEPTOR = "cache-interceptor";
+	String CACHE_INTERCEPTOR__VALUE = "value";
+
 	String CORRECTION_TYPE = "correction-type";
 	String MAP_KEY_ASSOCIATION_OVERRIDE = "map-key-association-override";
+
+	String QUERY_REDIRECTORS = "query-redirectors";
+	String QUERY_REDIRECTORS__ALL_QUERIES = "all-queries";
+	String QUERY_REDIRECTORS__READ_ALL = "read-all";
+	String QUERY_REDIRECTORS__READ_OBJECT = "read-object";
+	String QUERY_REDIRECTORS__REPORT = "report";
+	String QUERY_REDIRECTORS__UPDATE = "update";
+	String QUERY_REDIRECTORS__INSERT = "insert";
+	String QUERY_REDIRECTORS__DELETE = "delete";
+
 }
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLinkOrmV2_0Package.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLinkOrmV2_0Package.java
index 05c8709..e6b35e1 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLinkOrmV2_0Package.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/EclipseLinkOrmV2_0Package.java
@@ -74,6 +74,34 @@
 	public static final EclipseLinkOrmV2_0Package eINSTANCE = org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package.init();
 
 	/**
+	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0 <em>Xml Cache Interceptor2 0</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlCacheInterceptor2_0()
+	 * @generated
+	 */
+	public static final int XML_CACHE_INTERCEPTOR2_0 = 0;
+
+	/**
+	 * The feature id for the '<em><b>Class Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_CACHE_INTERCEPTOR2_0__CLASS_NAME = 0;
+
+	/**
+	 * The number of structural features of the '<em>Xml Cache Interceptor2 0</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_CACHE_INTERCEPTOR2_0_FEATURE_COUNT = 1;
+
+	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCollectionMapping_2_0 <em>Xml Collection Mapping 20</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -81,7 +109,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlCollectionMapping_2_0()
 	 * @generated
 	 */
-	public static final int XML_COLLECTION_MAPPING_20 = 0;
+	public static final int XML_COLLECTION_MAPPING_20 = 1;
 
 	/**
 	 * The feature id for the '<em><b>Map Key Convert</b></em>' attribute.
@@ -118,7 +146,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlElementCollection_2_0()
 	 * @generated
 	 */
-	public static final int XML_ELEMENT_COLLECTION_20 = 1;
+	public static final int XML_ELEMENT_COLLECTION_20 = 2;
 
 	/**
 	 * The feature id for the '<em><b>Access</b></em>' attribute.
@@ -292,6 +320,52 @@
 	public static final int XML_ELEMENT_COLLECTION_20_FEATURE_COUNT = EclipseLinkOrmPackage.XML_ATTRIBUTE_MAPPING_FEATURE_COUNT + 14;
 
 	/**
+	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0 <em>Xml Entity2 0</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlEntity2_0()
+	 * @generated
+	 */
+	public static final int XML_ENTITY2_0 = 3;
+
+	/**
+	 * The feature id for the '<em><b>Cacheable</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_ENTITY2_0__CACHEABLE = OrmV2_0Package.XML_ENTITY_20__CACHEABLE;
+
+	/**
+	 * The feature id for the '<em><b>Cache Interceptor</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_ENTITY2_0__CACHE_INTERCEPTOR = OrmV2_0Package.XML_ENTITY_20_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Query Redirectors</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_ENTITY2_0__QUERY_REDIRECTORS = OrmV2_0Package.XML_ENTITY_20_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Xml Entity2 0</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_ENTITY2_0_FEATURE_COUNT = OrmV2_0Package.XML_ENTITY_20_FEATURE_COUNT + 2;
+
+	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlManyToMany_2_0 <em>Xml Many To Many 20</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -299,7 +373,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlManyToMany_2_0()
 	 * @generated
 	 */
-	public static final int XML_MANY_TO_MANY_20 = 2;
+	public static final int XML_MANY_TO_MANY_20 = 4;
 
 	/**
 	 * The feature id for the '<em><b>Converter</b></em>' containment reference.
@@ -372,7 +446,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlMappedSuperclass_2_0()
 	 * @generated
 	 */
-	public static final int XML_MAPPED_SUPERCLASS_20 = 3;
+	public static final int XML_MAPPED_SUPERCLASS_20 = 5;
 
 	/**
 	 * The feature id for the '<em><b>Cacheable</b></em>' attribute.
@@ -384,13 +458,22 @@
 	public static final int XML_MAPPED_SUPERCLASS_20__CACHEABLE = OrmV2_0Package.XML_CACHEABLE_20__CACHEABLE;
 
 	/**
+	 * The feature id for the '<em><b>Cache Interceptor</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_MAPPED_SUPERCLASS_20__CACHE_INTERCEPTOR = OrmV2_0Package.XML_CACHEABLE_20_FEATURE_COUNT + 0;
+
+	/**
 	 * The number of structural features of the '<em>Xml Mapped Superclass 20</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	public static final int XML_MAPPED_SUPERCLASS_20_FEATURE_COUNT = OrmV2_0Package.XML_CACHEABLE_20_FEATURE_COUNT + 0;
+	public static final int XML_MAPPED_SUPERCLASS_20_FEATURE_COUNT = OrmV2_0Package.XML_CACHEABLE_20_FEATURE_COUNT + 1;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlOneToMany_2_0 <em>Xml One To Many 20</em>}' class.
@@ -400,7 +483,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlOneToMany_2_0()
 	 * @generated
 	 */
-	public static final int XML_ONE_TO_MANY_20 = 4;
+	public static final int XML_ONE_TO_MANY_20 = 6;
 
 	/**
 	 * The feature id for the '<em><b>Converter</b></em>' containment reference.
@@ -473,7 +556,7 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlOrderColumn_2_0()
 	 * @generated
 	 */
-	public static final int XML_ORDER_COLUMN_20 = 5;
+	public static final int XML_ORDER_COLUMN_20 = 7;
 
 	/**
 	 * The feature id for the '<em><b>Correction Type</b></em>' attribute.
@@ -494,6 +577,88 @@
 	public static final int XML_ORDER_COLUMN_20_FEATURE_COUNT = 1;
 
 	/**
+	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0 <em>Xml Query Redirectors2 0</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlQueryRedirectors2_0()
+	 * @generated
+	 */
+	public static final int XML_QUERY_REDIRECTORS2_0 = 8;
+
+	/**
+	 * The feature id for the '<em><b>All Queries</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS2_0__ALL_QUERIES = 0;
+
+	/**
+	 * The feature id for the '<em><b>Read All</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS2_0__READ_ALL = 1;
+
+	/**
+	 * The feature id for the '<em><b>Read Object</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS2_0__READ_OBJECT = 2;
+
+	/**
+	 * The feature id for the '<em><b>Report</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS2_0__REPORT = 3;
+
+	/**
+	 * The feature id for the '<em><b>Update</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS2_0__UPDATE = 4;
+
+	/**
+	 * The feature id for the '<em><b>Insert</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS2_0__INSERT = 5;
+
+	/**
+	 * The feature id for the '<em><b>Delete</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS2_0__DELETE = 6;
+
+	/**
+	 * The number of structural features of the '<em>Xml Query Redirectors2 0</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	public static final int XML_QUERY_REDIRECTORS2_0_FEATURE_COUNT = 7;
+
+	/**
 	 * The meta object id for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.OrderCorrectionType_2_0 <em>Order Correction Type 20</em>}' enum.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -501,7 +666,14 @@
 	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getOrderCorrectionType_2_0()
 	 * @generated
 	 */
-	public static final int ORDER_CORRECTION_TYPE_20 = 6;
+	public static final int ORDER_CORRECTION_TYPE_20 = 9;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass xmlCacheInterceptor2_0EClass = null;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -522,6 +694,13 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	private EClass xmlEntity2_0EClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	private EClass xmlManyToMany_2_0EClass = null;
 
 	/**
@@ -550,6 +729,13 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	private EClass xmlQueryRedirectors2_0EClass = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	private EEnum orderCorrectionType_2_0EEnum = null;
 
 	/**
@@ -629,6 +815,35 @@
 
 
 	/**
+	 * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0 <em>Xml Cache Interceptor2 0</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Xml Cache Interceptor2 0</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0
+	 * @generated
+	 */
+	public EClass getXmlCacheInterceptor2_0()
+	{
+		return xmlCacheInterceptor2_0EClass;
+	}
+
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0#getClassName <em>Class Name</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Class Name</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0#getClassName()
+	 * @see #getXmlCacheInterceptor2_0()
+	 * @generated
+	 */
+	public EAttribute getXmlCacheInterceptor2_0_ClassName()
+	{
+		return (EAttribute)xmlCacheInterceptor2_0EClass.getEStructuralFeatures().get(0);
+	}
+
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCollectionMapping_2_0 <em>Xml Collection Mapping 20</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -683,6 +898,50 @@
 	}
 
 	/**
+	 * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0 <em>Xml Entity2 0</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Xml Entity2 0</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0
+	 * @generated
+	 */
+	public EClass getXmlEntity2_0()
+	{
+		return xmlEntity2_0EClass;
+	}
+
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0#getCacheInterceptor <em>Cache Interceptor</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Cache Interceptor</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0#getCacheInterceptor()
+	 * @see #getXmlEntity2_0()
+	 * @generated
+	 */
+	public EReference getXmlEntity2_0_CacheInterceptor()
+	{
+		return (EReference)xmlEntity2_0EClass.getEStructuralFeatures().get(0);
+	}
+
+
+	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0#getQueryRedirectors <em>Query Redirectors</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Query Redirectors</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0#getQueryRedirectors()
+	 * @see #getXmlEntity2_0()
+	 * @generated
+	 */
+	public EReference getXmlEntity2_0_QueryRedirectors()
+	{
+		return (EReference)xmlEntity2_0EClass.getEStructuralFeatures().get(1);
+	}
+
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlManyToMany_2_0 <em>Xml Many To Many 20</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -710,6 +969,21 @@
 
 
 	/**
+	 * Returns the meta object for the containment reference '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlMappedSuperclass_2_0#getCacheInterceptor <em>Cache Interceptor</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference '<em>Cache Interceptor</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlMappedSuperclass_2_0#getCacheInterceptor()
+	 * @see #getXmlMappedSuperclass_2_0()
+	 * @generated
+	 */
+	public EReference getXmlMappedSuperclass_2_0_CacheInterceptor()
+	{
+		return (EReference)xmlMappedSuperclass_2_0EClass.getEStructuralFeatures().get(0);
+	}
+
+
+	/**
 	 * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlOneToMany_2_0 <em>Xml One To Many 20</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -751,6 +1025,125 @@
 
 
 	/**
+	 * Returns the meta object for class '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0 <em>Xml Query Redirectors2 0</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Xml Query Redirectors2 0</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0
+	 * @generated
+	 */
+	public EClass getXmlQueryRedirectors2_0()
+	{
+		return xmlQueryRedirectors2_0EClass;
+	}
+
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getAllQueries <em>All Queries</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>All Queries</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getAllQueries()
+	 * @see #getXmlQueryRedirectors2_0()
+	 * @generated
+	 */
+	public EAttribute getXmlQueryRedirectors2_0_AllQueries()
+	{
+		return (EAttribute)xmlQueryRedirectors2_0EClass.getEStructuralFeatures().get(0);
+	}
+
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReadAll <em>Read All</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Read All</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReadAll()
+	 * @see #getXmlQueryRedirectors2_0()
+	 * @generated
+	 */
+	public EAttribute getXmlQueryRedirectors2_0_ReadAll()
+	{
+		return (EAttribute)xmlQueryRedirectors2_0EClass.getEStructuralFeatures().get(1);
+	}
+
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReadObject <em>Read Object</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Read Object</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReadObject()
+	 * @see #getXmlQueryRedirectors2_0()
+	 * @generated
+	 */
+	public EAttribute getXmlQueryRedirectors2_0_ReadObject()
+	{
+		return (EAttribute)xmlQueryRedirectors2_0EClass.getEStructuralFeatures().get(2);
+	}
+
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReport <em>Report</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Report</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReport()
+	 * @see #getXmlQueryRedirectors2_0()
+	 * @generated
+	 */
+	public EAttribute getXmlQueryRedirectors2_0_Report()
+	{
+		return (EAttribute)xmlQueryRedirectors2_0EClass.getEStructuralFeatures().get(3);
+	}
+
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getUpdate <em>Update</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Update</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getUpdate()
+	 * @see #getXmlQueryRedirectors2_0()
+	 * @generated
+	 */
+	public EAttribute getXmlQueryRedirectors2_0_Update()
+	{
+		return (EAttribute)xmlQueryRedirectors2_0EClass.getEStructuralFeatures().get(4);
+	}
+
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getInsert <em>Insert</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Insert</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getInsert()
+	 * @see #getXmlQueryRedirectors2_0()
+	 * @generated
+	 */
+	public EAttribute getXmlQueryRedirectors2_0_Insert()
+	{
+		return (EAttribute)xmlQueryRedirectors2_0EClass.getEStructuralFeatures().get(5);
+	}
+
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getDelete <em>Delete</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Delete</em>'.
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getDelete()
+	 * @see #getXmlQueryRedirectors2_0()
+	 * @generated
+	 */
+	public EAttribute getXmlQueryRedirectors2_0_Delete()
+	{
+		return (EAttribute)xmlQueryRedirectors2_0EClass.getEStructuralFeatures().get(6);
+	}
+
+
+	/**
 	 * Returns the meta object for enum '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.OrderCorrectionType_2_0 <em>Order Correction Type 20</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -796,21 +1189,38 @@
 		isCreated = true;
 
 		// Create classes and their features
+		xmlCacheInterceptor2_0EClass = createEClass(XML_CACHE_INTERCEPTOR2_0);
+		createEAttribute(xmlCacheInterceptor2_0EClass, XML_CACHE_INTERCEPTOR2_0__CLASS_NAME);
+
 		xmlCollectionMapping_2_0EClass = createEClass(XML_COLLECTION_MAPPING_20);
 		createEAttribute(xmlCollectionMapping_2_0EClass, XML_COLLECTION_MAPPING_20__MAP_KEY_CONVERT);
 		createEReference(xmlCollectionMapping_2_0EClass, XML_COLLECTION_MAPPING_20__MAP_KEY_ASSOCIATION_OVERRIDES);
 
 		xmlElementCollection_2_0EClass = createEClass(XML_ELEMENT_COLLECTION_20);
 
+		xmlEntity2_0EClass = createEClass(XML_ENTITY2_0);
+		createEReference(xmlEntity2_0EClass, XML_ENTITY2_0__CACHE_INTERCEPTOR);
+		createEReference(xmlEntity2_0EClass, XML_ENTITY2_0__QUERY_REDIRECTORS);
+
 		xmlManyToMany_2_0EClass = createEClass(XML_MANY_TO_MANY_20);
 
 		xmlMappedSuperclass_2_0EClass = createEClass(XML_MAPPED_SUPERCLASS_20);
+		createEReference(xmlMappedSuperclass_2_0EClass, XML_MAPPED_SUPERCLASS_20__CACHE_INTERCEPTOR);
 
 		xmlOneToMany_2_0EClass = createEClass(XML_ONE_TO_MANY_20);
 
 		xmlOrderColumn_2_0EClass = createEClass(XML_ORDER_COLUMN_20);
 		createEAttribute(xmlOrderColumn_2_0EClass, XML_ORDER_COLUMN_20__CORRECTION_TYPE);
 
+		xmlQueryRedirectors2_0EClass = createEClass(XML_QUERY_REDIRECTORS2_0);
+		createEAttribute(xmlQueryRedirectors2_0EClass, XML_QUERY_REDIRECTORS2_0__ALL_QUERIES);
+		createEAttribute(xmlQueryRedirectors2_0EClass, XML_QUERY_REDIRECTORS2_0__READ_ALL);
+		createEAttribute(xmlQueryRedirectors2_0EClass, XML_QUERY_REDIRECTORS2_0__READ_OBJECT);
+		createEAttribute(xmlQueryRedirectors2_0EClass, XML_QUERY_REDIRECTORS2_0__REPORT);
+		createEAttribute(xmlQueryRedirectors2_0EClass, XML_QUERY_REDIRECTORS2_0__UPDATE);
+		createEAttribute(xmlQueryRedirectors2_0EClass, XML_QUERY_REDIRECTORS2_0__INSERT);
+		createEAttribute(xmlQueryRedirectors2_0EClass, XML_QUERY_REDIRECTORS2_0__DELETE);
+
 		// Create enums
 		orderCorrectionType_2_0EEnum = createEEnum(ORDER_CORRECTION_TYPE_20);
 	}
@@ -853,6 +1263,7 @@
 		xmlElementCollection_2_0EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlConvertibleMapping());
 		xmlElementCollection_2_0EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlConvertersHolder());
 		xmlElementCollection_2_0EClass.getESuperTypes().add(this.getXmlCollectionMapping_2_0());
+		xmlEntity2_0EClass.getESuperTypes().add(theOrmV2_0Package.getXmlEntity_2_0());
 		xmlManyToMany_2_0EClass.getESuperTypes().add(theEclipseLinkOrmPackage.getXmlConverterHolder());
 		xmlManyToMany_2_0EClass.getESuperTypes().add(this.getXmlCollectionMapping_2_0());
 		xmlMappedSuperclass_2_0EClass.getESuperTypes().add(theOrmV2_0Package.getXmlCacheable_2_0());
@@ -860,21 +1271,38 @@
 		xmlOneToMany_2_0EClass.getESuperTypes().add(this.getXmlCollectionMapping_2_0());
 
 		// Initialize classes and features; add operations and parameters
+		initEClass(xmlCacheInterceptor2_0EClass, XmlCacheInterceptor2_0.class, "XmlCacheInterceptor2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getXmlCacheInterceptor2_0_ClassName(), ecorePackage.getEString(), "className", null, 0, 1, XmlCacheInterceptor2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
 		initEClass(xmlCollectionMapping_2_0EClass, XmlCollectionMapping_2_0.class, "XmlCollectionMapping_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getXmlCollectionMapping_2_0_MapKeyConvert(), ecorePackage.getEString(), "mapKeyConvert", null, 0, 1, XmlCollectionMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEReference(getXmlCollectionMapping_2_0_MapKeyAssociationOverrides(), theOrmPackage.getXmlAssociationOverride(), null, "mapKeyAssociationOverrides", null, 0, -1, XmlCollectionMapping_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(xmlElementCollection_2_0EClass, XmlElementCollection_2_0.class, "XmlElementCollection_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
+		initEClass(xmlEntity2_0EClass, XmlEntity2_0.class, "XmlEntity2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getXmlEntity2_0_CacheInterceptor(), this.getXmlCacheInterceptor2_0(), null, "cacheInterceptor", null, 0, 1, XmlEntity2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEReference(getXmlEntity2_0_QueryRedirectors(), this.getXmlQueryRedirectors2_0(), null, "queryRedirectors", null, 0, 1, XmlEntity2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
 		initEClass(xmlManyToMany_2_0EClass, XmlManyToMany_2_0.class, "XmlManyToMany_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
 		initEClass(xmlMappedSuperclass_2_0EClass, XmlMappedSuperclass_2_0.class, "XmlMappedSuperclass_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getXmlMappedSuperclass_2_0_CacheInterceptor(), this.getXmlCacheInterceptor2_0(), null, "cacheInterceptor", null, 0, 1, XmlMappedSuperclass_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
 		initEClass(xmlOneToMany_2_0EClass, XmlOneToMany_2_0.class, "XmlOneToMany_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 
 		initEClass(xmlOrderColumn_2_0EClass, XmlOrderColumn_2_0.class, "XmlOrderColumn_2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getXmlOrderColumn_2_0_CorrectionType(), this.getOrderCorrectionType_2_0(), "correctionType", null, 0, 1, XmlOrderColumn_2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+		initEClass(xmlQueryRedirectors2_0EClass, XmlQueryRedirectors2_0.class, "XmlQueryRedirectors2_0", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEAttribute(getXmlQueryRedirectors2_0_AllQueries(), ecorePackage.getEString(), "allQueries", null, 0, 1, XmlQueryRedirectors2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getXmlQueryRedirectors2_0_ReadAll(), ecorePackage.getEString(), "readAll", null, 0, 1, XmlQueryRedirectors2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getXmlQueryRedirectors2_0_ReadObject(), ecorePackage.getEString(), "readObject", null, 0, 1, XmlQueryRedirectors2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getXmlQueryRedirectors2_0_Report(), ecorePackage.getEString(), "report", null, 0, 1, XmlQueryRedirectors2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getXmlQueryRedirectors2_0_Update(), ecorePackage.getEString(), "update", null, 0, 1, XmlQueryRedirectors2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getXmlQueryRedirectors2_0_Insert(), ecorePackage.getEString(), "insert", null, 0, 1, XmlQueryRedirectors2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getXmlQueryRedirectors2_0_Delete(), ecorePackage.getEString(), "delete", null, 0, 1, XmlQueryRedirectors2_0.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
 		// Initialize enums and add enum literals
 		initEEnum(orderCorrectionType_2_0EEnum, OrderCorrectionType_2_0.class, "OrderCorrectionType_2_0");
 		addEEnumLiteral(orderCorrectionType_2_0EEnum, OrderCorrectionType_2_0.READ);
@@ -897,6 +1325,24 @@
 	public interface Literals
 	{
 		/**
+		 * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0 <em>Xml Cache Interceptor2 0</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0
+		 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlCacheInterceptor2_0()
+		 * @generated
+		 */
+		public static final EClass XML_CACHE_INTERCEPTOR2_0 = eINSTANCE.getXmlCacheInterceptor2_0();
+
+		/**
+		 * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final EAttribute XML_CACHE_INTERCEPTOR2_0__CLASS_NAME = eINSTANCE.getXmlCacheInterceptor2_0_ClassName();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCollectionMapping_2_0 <em>Xml Collection Mapping 20</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -933,6 +1379,32 @@
 		public static final EClass XML_ELEMENT_COLLECTION_20 = eINSTANCE.getXmlElementCollection_2_0();
 
 		/**
+		 * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0 <em>Xml Entity2 0</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0
+		 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlEntity2_0()
+		 * @generated
+		 */
+		public static final EClass XML_ENTITY2_0 = eINSTANCE.getXmlEntity2_0();
+
+		/**
+		 * The meta object literal for the '<em><b>Cache Interceptor</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final EReference XML_ENTITY2_0__CACHE_INTERCEPTOR = eINSTANCE.getXmlEntity2_0_CacheInterceptor();
+
+		/**
+		 * The meta object literal for the '<em><b>Query Redirectors</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final EReference XML_ENTITY2_0__QUERY_REDIRECTORS = eINSTANCE.getXmlEntity2_0_QueryRedirectors();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlManyToMany_2_0 <em>Xml Many To Many 20</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -953,6 +1425,14 @@
 		public static final EClass XML_MAPPED_SUPERCLASS_20 = eINSTANCE.getXmlMappedSuperclass_2_0();
 
 		/**
+		 * The meta object literal for the '<em><b>Cache Interceptor</b></em>' containment reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final EReference XML_MAPPED_SUPERCLASS_20__CACHE_INTERCEPTOR = eINSTANCE.getXmlMappedSuperclass_2_0_CacheInterceptor();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlOneToMany_2_0 <em>Xml One To Many 20</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -981,6 +1461,72 @@
 		public static final EAttribute XML_ORDER_COLUMN_20__CORRECTION_TYPE = eINSTANCE.getXmlOrderColumn_2_0_CorrectionType();
 
 		/**
+		 * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0 <em>Xml Query Redirectors2 0</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0
+		 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlQueryRedirectors2_0()
+		 * @generated
+		 */
+		public static final EClass XML_QUERY_REDIRECTORS2_0 = eINSTANCE.getXmlQueryRedirectors2_0();
+
+		/**
+		 * The meta object literal for the '<em><b>All Queries</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final EAttribute XML_QUERY_REDIRECTORS2_0__ALL_QUERIES = eINSTANCE.getXmlQueryRedirectors2_0_AllQueries();
+
+		/**
+		 * The meta object literal for the '<em><b>Read All</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final EAttribute XML_QUERY_REDIRECTORS2_0__READ_ALL = eINSTANCE.getXmlQueryRedirectors2_0_ReadAll();
+
+		/**
+		 * The meta object literal for the '<em><b>Read Object</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final EAttribute XML_QUERY_REDIRECTORS2_0__READ_OBJECT = eINSTANCE.getXmlQueryRedirectors2_0_ReadObject();
+
+		/**
+		 * The meta object literal for the '<em><b>Report</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final EAttribute XML_QUERY_REDIRECTORS2_0__REPORT = eINSTANCE.getXmlQueryRedirectors2_0_Report();
+
+		/**
+		 * The meta object literal for the '<em><b>Update</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final EAttribute XML_QUERY_REDIRECTORS2_0__UPDATE = eINSTANCE.getXmlQueryRedirectors2_0_Update();
+
+		/**
+		 * The meta object literal for the '<em><b>Insert</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final EAttribute XML_QUERY_REDIRECTORS2_0__INSERT = eINSTANCE.getXmlQueryRedirectors2_0_Insert();
+
+		/**
+		 * The meta object literal for the '<em><b>Delete</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public static final EAttribute XML_QUERY_REDIRECTORS2_0__DELETE = eINSTANCE.getXmlQueryRedirectors2_0_Delete();
+
+		/**
 		 * The meta object literal for the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.OrderCorrectionType_2_0 <em>Order Correction Type 20</em>}' enum.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlCacheInterceptor2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlCacheInterceptor2_0.java
new file mode 100644
index 0000000..064bb79
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlCacheInterceptor2_0.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ * 
+ * Contributors:
+ *     Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Cache Interceptor2 0</b></em>'.
+ * 
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0#getClassName <em>Class Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlCacheInterceptor2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlCacheInterceptor2_0 extends JpaEObject
+{
+	/**
+	 * Returns the value of the '<em><b>Class Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Class Name</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Class Name</em>' attribute.
+	 * @see #setClassName(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlCacheInterceptor2_0_ClassName()
+	 * @model
+	 * @generated
+	 */
+	String getClassName();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlCacheInterceptor2_0#getClassName <em>Class Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Class Name</em>' attribute.
+	 * @see #getClassName()
+	 * @generated
+	 */
+	void setClassName(String value);
+
+} // XmlCacheInterceptor2_0
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlEntity2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlEntity2_0.java
new file mode 100644
index 0000000..9fd909e
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlEntity2_0.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ * 
+ * Contributors:
+ *     Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.core.resource.orm.v2_0.XmlEntity_2_0;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Entity2 0</b></em>'.
+ * 
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0#getCacheInterceptor <em>Cache Interceptor</em>}</li>
+ *   <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0#getQueryRedirectors <em>Query Redirectors</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlEntity2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @generated
+ */
+public interface XmlEntity2_0 extends XmlEntity_2_0
+{
+	/**
+	 * Returns the value of the '<em><b>Cache Interceptor</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Cache Interceptor</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Cache Interceptor</em>' containment reference.
+	 * @see #setCacheInterceptor(XmlCacheInterceptor2_0)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlEntity2_0_CacheInterceptor()
+	 * @model containment="true"
+	 * @generated
+	 */
+	XmlCacheInterceptor2_0 getCacheInterceptor();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0#getCacheInterceptor <em>Cache Interceptor</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Cache Interceptor</em>' containment reference.
+	 * @see #getCacheInterceptor()
+	 * @generated
+	 */
+	void setCacheInterceptor(XmlCacheInterceptor2_0 value);
+
+	/**
+	 * Returns the value of the '<em><b>Query Redirectors</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Query Redirectors</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Query Redirectors</em>' containment reference.
+	 * @see #setQueryRedirectors(XmlQueryRedirectors2_0)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlEntity2_0_QueryRedirectors()
+	 * @model containment="true"
+	 * @generated
+	 */
+	XmlQueryRedirectors2_0 getQueryRedirectors();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlEntity2_0#getQueryRedirectors <em>Query Redirectors</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Query Redirectors</em>' containment reference.
+	 * @see #getQueryRedirectors()
+	 * @generated
+	 */
+	void setQueryRedirectors(XmlQueryRedirectors2_0 value);
+
+} // XmlEntity2_0
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlMappedSuperclass_2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlMappedSuperclass_2_0.java
index 05e9e10..5f740b3 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlMappedSuperclass_2_0.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlMappedSuperclass_2_0.java
@@ -22,6 +22,12 @@
  * will almost certainly be broken (repeatedly) as the API evolves.
  * <!-- end-user-doc -->
  *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlMappedSuperclass_2_0#getCacheInterceptor <em>Cache Interceptor</em>}</li>
+ * </ul>
+ * </p>
  *
  * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlMappedSuperclass_2_0()
  * @model kind="class" interface="true" abstract="true"
@@ -30,4 +36,30 @@
 public interface XmlMappedSuperclass_2_0 extends XmlCacheable_2_0
 {
 
+	/**
+	 * Returns the value of the '<em><b>Cache Interceptor</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Cache Interceptor</em>' containment reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Cache Interceptor</em>' containment reference.
+	 * @see #setCacheInterceptor(XmlCacheInterceptor2_0)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlMappedSuperclass_2_0_CacheInterceptor()
+	 * @model containment="true"
+	 * @generated
+	 */
+	XmlCacheInterceptor2_0 getCacheInterceptor();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlMappedSuperclass_2_0#getCacheInterceptor <em>Cache Interceptor</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Cache Interceptor</em>' containment reference.
+	 * @see #getCacheInterceptor()
+	 * @generated
+	 */
+	void setCacheInterceptor(XmlCacheInterceptor2_0 value);
+
 } // XmlMappedSuperclass_2_0
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlQueryRedirectors2_0.java b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlQueryRedirectors2_0.java
new file mode 100644
index 0000000..e70ee1b
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.core/src/org/eclipse/jpt/eclipselink/core/resource/orm/v2_0/XmlQueryRedirectors2_0.java
@@ -0,0 +1,227 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ * 
+ * Contributors:
+ *     Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.eclipselink.core.resource.orm.v2_0;
+
+import org.eclipse.jpt.core.resource.xml.JpaEObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Xml Query Redirectors2 0</b></em>'.
+ * 
+ * Provisional API: This interface is part of an interim API that is still
+ * under development and expected to change significantly before reaching
+ * stability. It is available at this early stage to solicit feedback from
+ * pioneering adopters on the understanding that any code that uses this API
+ * will almost certainly be broken (repeatedly) as the API evolves.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getAllQueries <em>All Queries</em>}</li>
+ *   <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReadAll <em>Read All</em>}</li>
+ *   <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReadObject <em>Read Object</em>}</li>
+ *   <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReport <em>Report</em>}</li>
+ *   <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getUpdate <em>Update</em>}</li>
+ *   <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getInsert <em>Insert</em>}</li>
+ *   <li>{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getDelete <em>Delete</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlQueryRedirectors2_0()
+ * @model kind="class" interface="true" abstract="true"
+ * @extends JpaEObject
+ * @generated
+ */
+public interface XmlQueryRedirectors2_0 extends JpaEObject
+{
+	/**
+	 * Returns the value of the '<em><b>All Queries</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>All Queries</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>All Queries</em>' attribute.
+	 * @see #setAllQueries(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlQueryRedirectors2_0_AllQueries()
+	 * @model
+	 * @generated
+	 */
+	String getAllQueries();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getAllQueries <em>All Queries</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>All Queries</em>' attribute.
+	 * @see #getAllQueries()
+	 * @generated
+	 */
+	void setAllQueries(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Read All</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Read All</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Read All</em>' attribute.
+	 * @see #setReadAll(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlQueryRedirectors2_0_ReadAll()
+	 * @model
+	 * @generated
+	 */
+	String getReadAll();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReadAll <em>Read All</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Read All</em>' attribute.
+	 * @see #getReadAll()
+	 * @generated
+	 */
+	void setReadAll(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Read Object</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Read Object</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Read Object</em>' attribute.
+	 * @see #setReadObject(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlQueryRedirectors2_0_ReadObject()
+	 * @model
+	 * @generated
+	 */
+	String getReadObject();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReadObject <em>Read Object</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Read Object</em>' attribute.
+	 * @see #getReadObject()
+	 * @generated
+	 */
+	void setReadObject(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Report</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Report</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Report</em>' attribute.
+	 * @see #setReport(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlQueryRedirectors2_0_Report()
+	 * @model
+	 * @generated
+	 */
+	String getReport();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getReport <em>Report</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Report</em>' attribute.
+	 * @see #getReport()
+	 * @generated
+	 */
+	void setReport(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Update</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Update</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Update</em>' attribute.
+	 * @see #setUpdate(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlQueryRedirectors2_0_Update()
+	 * @model
+	 * @generated
+	 */
+	String getUpdate();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getUpdate <em>Update</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Update</em>' attribute.
+	 * @see #getUpdate()
+	 * @generated
+	 */
+	void setUpdate(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Insert</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Insert</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Insert</em>' attribute.
+	 * @see #setInsert(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlQueryRedirectors2_0_Insert()
+	 * @model
+	 * @generated
+	 */
+	String getInsert();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getInsert <em>Insert</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Insert</em>' attribute.
+	 * @see #getInsert()
+	 * @generated
+	 */
+	void setInsert(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Delete</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Delete</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Delete</em>' attribute.
+	 * @see #setDelete(String)
+	 * @see org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.EclipseLinkOrmV2_0Package#getXmlQueryRedirectors2_0_Delete()
+	 * @model
+	 * @generated
+	 */
+	String getDelete();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.jpt.eclipselink.core.resource.orm.v2_0.XmlQueryRedirectors2_0#getDelete <em>Delete</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Delete</em>' attribute.
+	 * @see #getDelete()
+	 * @generated
+	 */
+	void setDelete(String value);
+
+} // XmlQueryRedirectors2_0