Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'hibernate/org.eclipse.emf.teneo.hibernate.mapper')
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.classpath7
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.cvsignore2
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.project40
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.cvsignore2
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.jsdtscope4
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.core.prefs12
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.ui.prefs3
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jst.common.project.facet.core.prefs3
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.common.project.facet.core.xml3
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.container1
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.name1
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/META-INF/MANIFEST.MF25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/about.html24
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/about.ini17
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/about.properties46
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/build.properties28
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/copyright.txt9
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/epl-v10.html319
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/license.html319
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.ecore322
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.genmodel246
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbmodel.ecore113
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/modeling32.pngbin0 -> 2414 bytes
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.properties33
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.xml27
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationModelBuilder.java59
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationUtil.java61
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEAnnotationParserImporter.java77
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEClassAnnotator.java208
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEDataTypeAnnotator.java121
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEFeatureAnnotator.java35
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbManyToOneReferenceAnnotator.java72
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbMappingSchemaGenerator.java91
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyAttributeAnnotator.java99
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyReferenceAnnotator.java167
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToOneReferenceAnnotator.java72
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbSingleAttributeAnnotator.java40
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbUnidirectionalManyToManyAnnotator.java49
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbXmlPersistenceMapper.java29
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/persistence-mapping.xsd776
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOEntityMapper.java70
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOHelper.java73
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOMappingContext.java108
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Any.java141
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/AnyMetaDef.java127
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/BatchSize.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cache.java104
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CacheConcurrencyStrategy.java274
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cascade.java46
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CollectionOfElements.java82
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Columns.java25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/DiscriminatorFormula.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Fetch.java56
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filter.java80
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDef.java98
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDefs.java44
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filters.java44
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ForceDiscriminator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Formula.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Generated.java56
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenerationTime.java239
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenericGenerator.java96
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbAnnotation.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbCascadeType.java455
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbEntity.java224
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbFetchType.java229
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbMapKey.java45
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationFactory.java312
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationPackage.java3458
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/IdBag.java104
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Immutable.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Index.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKey.java43
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKeyManyToMany.java72
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MetaValue.java80
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NamedQuery.java80
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NaturalId.java53
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFound.java56
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFoundAction.java212
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDelete.java56
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDeleteAction.java211
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OptimisticLockType.java266
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ParamDef.java80
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Parameter.java76
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/PolymorphismType.java212
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Proxy.java81
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Type.java68
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/TypeDef.java94
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Where.java49
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyImpl.java353
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyMetaDefImpl.java328
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/BatchSizeImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CacheImpl.java272
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CascadeImpl.java149
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CollectionOfElementsImpl.java218
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/DiscriminatorFormulaImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FetchImpl.java164
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FilterDefImpl.java257
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FilterImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ForceDiscriminatorImpl.java42
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/FormulaImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/GeneratedImpl.java164
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/GenericGeneratorImpl.java257
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbAnnotationImpl.java73
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbEntityImpl.java489
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbMapKeyImpl.java150
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbannotationFactoryImpl.java657
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/HbannotationPackageImpl.java1955
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/IdBagImpl.java271
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ImmutableImpl.java42
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/IndexImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/MapKeyManyToManyImpl.java220
-rw-r--r--hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/MetaValueImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NamedQueryImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NaturalIdImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/NotFoundImpl.java164
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/OnDeleteImpl.java164
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ParamDefImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ParameterImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/ProxyImpl.java217
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/TypeDefImpl.java257
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/TypeImpl.java203
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/WhereImpl.java163
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationAdapterFactory.java730
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationSwitch.java870
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/util/HbannotationValidator.java920
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CacheValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CascadeValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/CollectionOfElementsValidator.java22
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FetchValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterDefValidator.java25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterDefsValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FilterValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/FiltersValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/GeneratedValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/GenericGeneratorValidator.java25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/HbAnnotationValidator.java19
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/IdBagValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/IndexValidator.java20
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/MapKeyValidator.java23
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/NamedQueryValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/OnDeleteValidator.java25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ParamDefValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ParameterValidator.java21
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/ProxyValidator.java26
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/TypeDefValidator.java25
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/TypeValidator.java24
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/validation/WhereValidator.java20
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEAttribute.java165
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEClass.java332
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEDataType.java184
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEModelElement.java22
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEPackage.java118
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedEReference.java305
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbAnnotatedETypeElement.java286
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbmodelFactory.java82
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/HbmodelPackage.java2748
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEAttributeImpl.java1070
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEClassImpl.java788
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEDataTypeImpl.java519
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEPackageImpl.java283
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbAnnotatedEReferenceImpl.java1387
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbmodelFactoryImpl.java146
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/impl/HbmodelPackageImpl.java884
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/util/HbmodelAdapterFactory.java385
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/util/HbmodelSwitch.java409
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEAttributeValidator.java24
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEClassValidator.java40
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEDataTypeValidator.java34
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEModelElementValidator.java19
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEPackageValidator.java31
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedEReferenceValidator.java26
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbmodel/validation/HbAnnotatedETypeElementValidator.java40
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java962
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractMapper.java971
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/BasicMapper.java293
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/EmbeddedMapper.java140
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/EntityMapper.java871
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/FeatureMapMapping.java193
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/FeatureMapper.java279
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/GenerateHBM.java145
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/HbMapperConstants.java74
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/HibernateMappingGenerator.java378
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/IdMapper.java415
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyAttributeMapper.java114
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyExternalReferenceMapper.java79
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyToManyMapper.java166
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/ManyToOneMapper.java180
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingContext.java916
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingException.java61
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/MappingUtil.java139
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/OneToManyMapper.java430
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/OneToOneMapper.java198
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/classic/ClassicMappingContext.java131
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/text/description.txt254
195 files changed, 42078 insertions, 0 deletions
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.classpath b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.classpath
new file mode 100755
index 000000000..64c5e31b7
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.cvsignore b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.cvsignore
new file mode 100755
index 000000000..7ce3b4d3f
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.cvsignore
@@ -0,0 +1,2 @@
+bin*
+*.jar
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.project b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.project
new file mode 100755
index 000000000..f89868e94
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.project
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.emf.teneo.hibernate.mapper</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ </natures>
+</projectDescription>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.cvsignore b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.cvsignore
new file mode 100755
index 000000000..2d013705a
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.cvsignore
@@ -0,0 +1,2 @@
+org.eclipse.wst.common.component
+org.eclipse.wst.common.project.facet.core.xml
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.jsdtscope b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.jsdtscope
new file mode 100644
index 000000000..0e4b119ca
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/.jsdtscope
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="output" path=""/>
+</classpath>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.core.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.core.prefs
new file mode 100755
index 000000000..05d22a303
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Mon Feb 08 06:55:22 CET 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.ui.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.ui.prefs
new file mode 100755
index 000000000..7e986800d
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,3 @@
+#Sat Nov 25 21:46:00 CET 2006
+eclipse.preferences.version=1
+internal.default.compliance=default
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jst.common.project.facet.core.prefs b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jst.common.project.facet.core.prefs
new file mode 100755
index 000000000..cbff5f2bd
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.jst.common.project.facet.core.prefs
@@ -0,0 +1,3 @@
+#Wed Feb 07 12:33:50 CET 2007
+classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:jdk1.5.0_06/owners=jst.java\:5.0
+eclipse.preferences.version=1
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.common.project.facet.core.xml b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 000000000..88ceb05cc
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+</faceted-project>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.container b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.container
new file mode 100644
index 000000000..3bd5d0a48
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.container
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.name b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.name
new file mode 100644
index 000000000..05bd71b6e
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/.settings/org.eclipse.wst.jsdt.ui.superType.name
@@ -0,0 +1 @@
+Window \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/META-INF/MANIFEST.MF b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/META-INF/MANIFEST.MF
new file mode 100755
index 000000000..b5d6ac7a4
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Plugin.name
+Bundle-SymbolicName: org.eclipse.emf.teneo.hibernate.mapper;singleton:=true
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Eclipse-BuddyPolicy: dependent
+Bundle-Vendor: %Plugin.providerName
+Export-Package: org.eclipse.emf.teneo.hibernate.annotations;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.cdo;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbannotation;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbannotation.impl;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbannotation.util;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbannotation.validation;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbmodel;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbmodel.impl;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbmodel.util;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.hbmodel.validation;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.mapper;version="1.1.2",
+ org.eclipse.emf.teneo.hibernate.mapper.classic;version="1.1.2"
+Require-Bundle: org.eclipse.emf.teneo;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.teneo.annotations;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Import-Package: org.apache.commons.logging;version="[1.0.0,2.0.0)"
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.html b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.html
new file mode 100755
index 000000000..5a279453c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head><body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body></html> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.ini b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.ini
new file mode 100755
index 000000000..1d17e5539
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=modeling32.png
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+#welcomePage=$nl$/welcome.xml
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.properties b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.properties
new file mode 100755
index 000000000..71baa9f3c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/about.properties
@@ -0,0 +1,46 @@
+#/**
+# * <copyright>
+# *
+# * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+# * 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:
+# * Martin Taal - Initial API and implementation
+# *
+# * </copyright>
+# *
+# * $Id: about.properties,v 1.4 2009/02/24 12:05:26 mtaal Exp $
+# */
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+# about.properties
+# contains externalized strings for about.ini
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# fill-ins are supplied by about.mappings
+# This file should be translated.
+
+featureName=Eclipse Modeling Framework Technology Object Relational Persistence
+
+featureText=Eclipse Modeling Framework Technology Object Relational Persistence \n\
+Version: {featureVersion}\n\
+Build id: {0}\n\
+\n\
+(c) Copyright Springsite BV (The Netherlands) and others. 2006 - 2009. All rights reserved.\n\
+\n\
+Visit http://www.eclipse.org/emft
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/build.properties b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/build.properties
new file mode 100755
index 000000000..7c919daa7
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/build.properties
@@ -0,0 +1,28 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id: build.properties,v 1.11 2011/02/21 04:42:49 mtaal Exp $
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ about.ini,\
+ about.properties,\
+ copyright.txt,\
+ epl-v10.html,\
+ license.html,\
+ modeling32.png
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html,\
+ about.ini,\
+ about.properties,\
+ copyright.txt,\
+ epl-v10.html,\
+ license.html,\
+ modeling32.png
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/copyright.txt b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/copyright.txt
new file mode 100755
index 000000000..537e4f8c1
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/copyright.txt
@@ -0,0 +1,9 @@
+Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+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:
+ Martin Taal
+ Davide Marchignoli
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/epl-v10.html b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/epl-v10.html
new file mode 100755
index 000000000..d7b88e941
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/epl-v10.html
@@ -0,0 +1,319 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+
+
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style></head>
+
+<body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
+
+<p><span style="font-size: 10pt;">When the Program is made available in source
+code form:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it must be made available under this Agreement; and </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style="font-size: 10pt;">Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style="font-size: 10pt;">For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
+
+<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
+
+</div>
+
+</body></html> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/license.html b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/license.html
new file mode 100755
index 000000000..d7b88e941
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/license.html
@@ -0,0 +1,319 @@
+<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="ProgId" content="Word.Document">
+<meta name="Generator" content="Microsoft Word 9">
+<meta name="Originator" content="Microsoft Word 9">
+<link rel="File-List" href="http://www.eclipse.org/org/documents/Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml"><title>Eclipse Public License - Version 1.0</title><!--[if gte mso 9]><xml>
+ <o:DocumentProperties>
+ <o:Revision>2</o:Revision>
+ <o:TotalTime>3</o:TotalTime>
+ <o:Created>2004-03-05T23:03:00Z</o:Created>
+ <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
+ <o:Pages>4</o:Pages>
+ <o:Words>1626</o:Words>
+ <o:Characters>9270</o:Characters>
+ <o:Lines>77</o:Lines>
+ <o:Paragraphs>18</o:Paragraphs>
+ <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
+ <o:Version>9.4402</o:Version>
+ </o:DocumentProperties>
+</xml><![endif]--><!--[if gte mso 9]><xml>
+ <w:WordDocument>
+ <w:TrackRevisions/>
+ </w:WordDocument>
+</xml><![endif]-->
+
+
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+ {font-family:Tahoma;
+ panose-1:2 11 6 4 3 5 4 4 2 4;
+ mso-font-charset:0;
+ mso-generic-font-family:swiss;
+ mso-font-pitch:variable;
+ mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+ {mso-style-parent:"";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p
+ {margin-right:0in;
+ mso-margin-top-alt:auto;
+ mso-margin-bottom-alt:auto;
+ margin-left:0in;
+ mso-pagination:widow-orphan;
+ font-size:12.0pt;
+ font-family:"Times New Roman";
+ mso-fareast-font-family:"Times New Roman";}
+p.BalloonText, li.BalloonText, div.BalloonText
+ {mso-style-name:"Balloon Text";
+ margin:0in;
+ margin-bottom:.0001pt;
+ mso-pagination:widow-orphan;
+ font-size:8.0pt;
+ font-family:Tahoma;
+ mso-fareast-font-family:"Times New Roman";}
+@page Section1
+ {size:8.5in 11.0in;
+ margin:1.0in 1.25in 1.0in 1.25in;
+ mso-header-margin:.5in;
+ mso-footer-margin:.5in;
+ mso-paper-source:0;}
+div.Section1
+ {page:Section1;}
+-->
+</style></head>
+
+<body style="" lang="EN-US">
+
+<div class="Section1">
+
+<p style="text-align: center;" align="center"><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style="font-size: 10pt;">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style="font-size: 10pt;">1. DEFINITIONS</span></b> </p>
+
+<p><span style="font-size: 10pt;">"Contribution" means:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear="left">
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+changes to the Program, and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+additions to the Program;</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">where
+such changes and/or additions to the Program originate from and are distributed
+by that particular Contributor. A Contribution 'originates' from a Contributor
+if it was added to the Program by such Contributor itself or anyone acting on
+such Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Contributor" means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style="font-size: 10pt;">"Licensed Patents " mean patent
+claims licensable by a Contributor which are necessarily infringed by the use
+or sale of its Contribution alone or when combined with the Program. </span></p>
+
+<p><span style="font-size: 10pt;">"Program" means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style="font-size: 10pt;">"Recipient" means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style="font-size: 10pt;">2. GRANT OF RIGHTS</span></b> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span style="color: red;"> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style="color: green;"> </span>royalty-free
+patent license under Licensed Patents to make, use, sell, offer to sell, import
+and otherwise transfer the Contribution of such Contributor, if any, in source
+code and object code form. This patent license shall apply to the combination
+of the Contribution and the Program if, at the time the Contribution is added
+by the Contributor, such addition of the Contribution causes such combination
+to be covered by the Licensed Patents. The patent license shall not apply to
+any other combinations which include the Contribution. No hardware per se is
+licensed hereunder. </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">c)
+Recipient understands that although each Contributor grants the licenses to its
+Contributions set forth herein, no assurances are provided by any Contributor
+that the Program does not infringe the patent or other intellectual property
+rights of any other entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement of intellectual
+property rights or otherwise. As a condition to exercising the rights and
+licenses granted hereunder, each Recipient hereby assumes sole responsibility
+to secure any other intellectual property rights needed, if any. For example,
+if a third party patent license is required to allow Recipient to distribute
+the Program, it is Recipient's responsibility to acquire that license before
+distributing the Program.</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">d)
+Each Contributor represents that to its knowledge it has sufficient copyright
+rights in its Contribution, if any, to grant the copyright license set forth in
+this Agreement. </span></p>
+
+<p><b><span style="font-size: 10pt;">3. REQUIREMENTS</span></b> </p>
+
+<p><span style="font-size: 10pt;">A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b)
+its license agreement:</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">i)
+effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style="color: blue;"> </span></span></p>
+
+<p><span style="font-size: 10pt;">When the Program is made available in source
+code form:</span> </p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">a)
+it must be made available under this Agreement; and </span></p>
+
+<p class="MsoNormal" style="margin-left: 0.5in;"><span style="font-size: 10pt;">b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style="font-size: 10pt;">Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style="font-size: 10pt;">4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style="font-size: 10pt;">Commercial distributors of software may
+accept certain responsibilities with respect to end users, business partners
+and the like. While this license is intended to facilitate the commercial use
+of the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes the
+Program in a commercial product offering, such Contributor ("Commercial
+Contributor") hereby agrees to defend and indemnify every other
+Contributor ("Indemnified Contributor") against any losses, damages and
+costs (collectively "Losses") arising from claims, lawsuits and other
+legal actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may participate
+in any such claim at its own expense.</span> </p>
+
+<p><span style="font-size: 10pt;">For example, a Contributor might include the
+Program in a commercial product offering, Product X. That Contributor is then a
+Commercial Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under this
+section, the Commercial Contributor would have to defend claims against the
+other Contributors related to those performance claims and warranties, and if a
+court requires any other Contributor to pay any damages as a result, the
+Commercial Contributor must pay those damages.</span> </p>
+
+<p><b><span style="font-size: 10pt;">5. NO WARRANTY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
+WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and distributing the
+Program and assumes all risks associated with its exercise of rights under this
+Agreement , including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations. </span></p>
+
+<p><b><span style="font-size: 10pt;">6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style="font-size: 10pt;">EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
+
+<p><b><span style="font-size: 10pt;">7. GENERAL</span></b> </p>
+
+<p><span style="font-size: 10pt;">If any provision of this Agreement is invalid
+or unenforceable under applicable law, it shall not affect the validity or
+enforceability of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.</span> </p>
+
+<p><span style="font-size: 10pt;">If Recipient institutes patent litigation
+against any entity (including a cross-claim or counterclaim in a lawsuit)
+alleging that the Program itself (excluding combinations of the Program with
+other software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the date
+such litigation is filed. </span></p>
+
+<p><span style="font-size: 10pt;">All Recipient's rights under this Agreement
+shall terminate if it fails to comply with any of the material terms or
+conditions of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive. </span></p>
+
+<p><span style="font-size: 10pt;">Everyone is permitted to copy and distribute
+copies of this Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement Steward has
+the right to modify this Agreement. The Eclipse Foundation is the initial
+Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.</span> </p>
+
+<p><span style="font-size: 10pt;">This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class="MsoNormal"><!--[if !supportEmptyParas]-->&nbsp;<!--[endif]--><o:p></o:p></p>
+
+</div>
+
+</body></html> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.ecore b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.ecore
new file mode 100755
index 000000000..f217eb931
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.ecore
@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="hbannotation"
+ nsURI="http://www.eclipse.org/emf/teneo/2006/HbAnnotation" nsPrefix="org.eclipse.emf.teneo.hibernate">
+ <eAnnotations source="teneo.mapping.source">
+ <details key="1" value="http://hibernate.elver.org/"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="HbAnnotation" abstract="true" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//PAnnotation">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+ <details key="constraints" value="CompatibleEModelElementType AnnotationIsSupported"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Cascade" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" upperBound="-1"
+ eType="#//HbCascadeType"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CollectionOfElements" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetElement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fetch" eType="ecore:EEnum ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//FetchType"
+ defaultValueLiteral="LAZY"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HbMapKey" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="columns" ordered="false"
+ upperBound="-1" eType="ecore:EClass ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//Column"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Collection">
+ <details key="name" value="Parameters"/>
+ <details key="packageNS" value="http://www.eclipse.org/emf/teneo/2006/HbAnnotation"/>
+ </eAnnotations>
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ <details key="1" value="EClass"/>
+ <details key="2" value="EPackage"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Type" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
+ eType="#//Parameter"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Where" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="clause" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IdBag" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="generator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="increment"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="long"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="table" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GenericGenerator" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ <details key="1" value="EClass"/>
+ <details key="2" value="EPackage"/>
+ </eAnnotations>
+ <eAnnotations source="http://annotation.elver.org/internal/Collection">
+ <details key="name" value="GenericGenerators"/>
+ <details key="packageNS" value="http://www.eclipse.org/emf/teneo/2006/HbAnnotation"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="strategy" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
+ eType="#//Parameter"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="CacheConcurrencyStrategy">
+ <eLiterals name="NONE" literal="NONE"/>
+ <eLiterals name="READ_ONLY" value="1" literal="READ_ONLY"/>
+ <eLiterals name="NONSTRICT_READ_WRITE" value="2" literal="NONSTRICT_READ_WRITE"/>
+ <eLiterals name="READ_WRITE" value="3" literal="READ_WRITE"/>
+ <eLiterals name="TRANSACTIONAL" value="4" literal="TRANSACTIONAL"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Cache" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EReference"/>
+ <details key="1" value="EClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="usage" eType="#//CacheConcurrencyStrategy"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="region" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="include" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TypeDef" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ <details key="1" value="EClass"/>
+ <details key="2" value="EPackage"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
+ eType="#//Parameter"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeClass" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="HbFetchType">
+ <eLiterals name="JOIN" literal="JOIN"/>
+ <eLiterals name="SELECT" value="1" literal="SELECT"/>
+ <eLiterals name="SUBSELECT" value="2" literal="SUBSELECT"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Fetch" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//HbFetchType"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="OnDeleteAction">
+ <eLiterals name="NO_ACTION" literal="NO_ACTION"/>
+ <eLiterals name="CASCADE" value="1" literal="CASCADE"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OnDelete" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="action" eType="#//OnDeleteAction"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Proxy" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="proxyClass" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lazy" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Index" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="GenerationTime">
+ <eLiterals name="NEVER"/>
+ <eLiterals name="INSERT" value="1"/>
+ <eLiterals name="ALWAYS" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Generated" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EAttribute"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//GenerationTime"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NamedQuery" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="query" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Filter" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EClass"/>
+ <details key="1" value="EReference"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="condition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ParamDef" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EClass"/>
+ <details key="1" value="EReference"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FilterDef" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EClass"/>
+ <details key="1" value="EReference"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultCondition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
+ eType="#//ParamDef"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DiscriminatorFormula" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NaturalId" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mutable" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MapKeyManyToMany" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EReference"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="joinColumns" ordered="false"
+ upperBound="-1" eType="ecore:EClass ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//JoinColumn"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetEntity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ForceDiscriminator" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Immutable" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ <details key="1" value="EReference"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Formula" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EAttribute"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="NotFoundAction">
+ <eLiterals name="EXCEPTION" literal="EXCEPTION"/>
+ <eLiterals name="IGNORE" value="1" literal="IGNORE"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NotFound" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EReference"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="action" lowerBound="1"
+ eType="#//NotFoundAction"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HbEntity" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="dynamicInsert" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="dynamicUpdate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="selectBeforeUpdate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mutable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="persister" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="optimisticLock" eType="#//OptimisticLockType"
+ defaultValueLiteral="VERSION"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="polymorphism" eType="#//PolymorphismType"
+ defaultValueLiteral="IMPLICIT"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="OptimisticLockType">
+ <eLiterals name="ALL" literal="ALL"/>
+ <eLiterals name="DIRTY" value="1" literal="DIRTY"/>
+ <eLiterals name="NONE" value="2" literal="NONE"/>
+ <eLiterals name="VERSION" value="3" literal="VERSION"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="PolymorphismType">
+ <eLiterals name="IMPLICIT" literal="IMPLICIT"/>
+ <eLiterals name="EXPLICIT" value="1" literal="EXPLICIT"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="HbCascadeType">
+ <eLiterals name="ALL"/>
+ <eLiterals name="PERSIST" value="1"/>
+ <eLiterals name="MERGE" value="2"/>
+ <eLiterals name="REMOVE" value="3"/>
+ <eLiterals name="REFRESH" value="4"/>
+ <eLiterals name="DELETE" value="5" literal="DELETE"/>
+ <eLiterals name="SAVE_UPDATE" value="6" literal="SAVE_UPDATE"/>
+ <eLiterals name="REPLICATE" value="7" literal="REPLICATE"/>
+ <eLiterals name="DELETE_ORPHAN" value="8" literal="DELETE_ORPHAN"/>
+ <eLiterals name="LOCK" value="9"/>
+ <eLiterals name="EVICT" value="10"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BatchSize" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="teneo/internal/Target">
+ <details key="0" value="EClass"/>
+ <details key="1" value="EReference"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Any" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="metaDef" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="metaColumn" eType="ecore:EClass ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//Column"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="fetch" eType="ecore:EEnum ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//FetchType"
+ defaultValueLiteral="EAGER"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MetaValue" eSuperTypes="#//HbAnnotation">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="targetEntity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AnyMetaDef" eSuperTypes="#//HbAnnotation">
+ <eAnnotations source="http://annotation.elver.org/internal/Target">
+ <details key="0" value="EStructuralFeature"/>
+ <details key="1" value="EClass"/>
+ <details key="2" value="EPackage"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="metaType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral="string"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="idType" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="string"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="metaValues" upperBound="-1"
+ eType="#//MetaValue" containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.genmodel b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.genmodel
new file mode 100755
index 000000000..e58b55197
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbannotation.genmodel
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.teneo.hibernate.mapper/src"
+ modelPluginID="org.eclipse.emf.teneo.hibernate.mapper" modelName="Hbannotation"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="../../org.eclipse.emf.teneo.annotations/model/pannotation.genmodel#//pamodel ../../org.eclipse.emf.teneo.annotations/model/pannotation.genmodel#//pannotation">
+ <foreignModel>hbannotation.ecore</foreignModel>
+ <foreignModel>hbmodel.ecore</foreignModel>
+ <genPackages prefix="Hbannotation" basePackage="org.eclipse.emf.teneo.hibernate"
+ disposableProviderFactory="true" ecorePackage="hbannotation.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//CacheConcurrencyStrategy">
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//CacheConcurrencyStrategy/NONE"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//CacheConcurrencyStrategy/READ_ONLY"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//CacheConcurrencyStrategy/NONSTRICT_READ_WRITE"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//CacheConcurrencyStrategy/READ_WRITE"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//CacheConcurrencyStrategy/TRANSACTIONAL"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//HbFetchType">
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbFetchType/JOIN"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbFetchType/SELECT"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbFetchType/SUBSELECT"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//OnDeleteAction">
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OnDeleteAction/NO_ACTION"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OnDeleteAction/CASCADE"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//GenerationTime">
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//GenerationTime/NEVER"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//GenerationTime/INSERT"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//GenerationTime/ALWAYS"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//NotFoundAction">
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//NotFoundAction/EXCEPTION"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//NotFoundAction/IGNORE"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//OptimisticLockType">
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OptimisticLockType/ALL"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OptimisticLockType/DIRTY"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OptimisticLockType/NONE"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//OptimisticLockType/VERSION"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//PolymorphismType">
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//PolymorphismType/IMPLICIT"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//PolymorphismType/EXPLICIT"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="hbannotation.ecore#//HbCascadeType">
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/ALL"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/PERSIST"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/MERGE"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/REMOVE"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/REFRESH"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/DELETE"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/SAVE_UPDATE"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/REPLICATE"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/DELETE_ORPHAN"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/LOCK"/>
+ <genEnumLiterals ecoreEnumLiteral="hbannotation.ecore#//HbCascadeType/EVICT"/>
+ </genEnums>
+ <genClasses image="false" ecoreClass="hbannotation.ecore#//HbAnnotation"/>
+ <genClasses ecoreClass="hbannotation.ecore#//Cascade">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Cascade/value"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//CollectionOfElements">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//CollectionOfElements/targetElement"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//CollectionOfElements/fetch"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//HbMapKey">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbannotation.ecore#//HbMapKey/columns"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//Parameter">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Parameter/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Parameter/value"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//Type">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Type/type"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbannotation.ecore#//Type/parameters"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//Where">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Where/clause"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//IdBag">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//IdBag/generator"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//IdBag/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//IdBag/table"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//GenericGenerator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//GenericGenerator/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//GenericGenerator/strategy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbannotation.ecore#//GenericGenerator/parameters"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//Cache">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Cache/usage"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Cache/region"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Cache/include"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//TypeDef">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//TypeDef/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbannotation.ecore#//TypeDef/parameters"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//TypeDef/typeClass"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//Fetch">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Fetch/value"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//OnDelete">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//OnDelete/action"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//Proxy">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Proxy/proxyClass"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Proxy/lazy"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//Index">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Index/name"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//Generated">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Generated/value"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//NamedQuery">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//NamedQuery/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//NamedQuery/query"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//Filter">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Filter/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Filter/condition"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//ParamDef">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//ParamDef/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//ParamDef/type"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//FilterDef">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//FilterDef/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//FilterDef/defaultCondition"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbannotation.ecore#//FilterDef/parameters"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//DiscriminatorFormula">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//DiscriminatorFormula/value"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//NaturalId">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//NaturalId/mutable"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//MapKeyManyToMany">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbannotation.ecore#//MapKeyManyToMany/joinColumns"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//MapKeyManyToMany/targetEntity"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//ForceDiscriminator"/>
+ <genClasses ecoreClass="hbannotation.ecore#//Immutable"/>
+ <genClasses ecoreClass="hbannotation.ecore#//Formula">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Formula/value"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//NotFound">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//NotFound/action"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//HbEntity">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/dynamicInsert"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/dynamicUpdate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/selectBeforeUpdate"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/mutable"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/persister"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/optimisticLock"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//HbEntity/polymorphism"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//BatchSize">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//BatchSize/size"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//Any">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Any/metaDef"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbannotation.ecore#//Any/metaColumn"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Any/fetch"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//Any/optional"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//MetaValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//MetaValue/targetEntity"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//MetaValue/value"/>
+ </genClasses>
+ <genClasses ecoreClass="hbannotation.ecore#//AnyMetaDef">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//AnyMetaDef/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//AnyMetaDef/metaType"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute hbannotation.ecore#//AnyMetaDef/idType"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbannotation.ecore#//AnyMetaDef/metaValues"/>
+ </genClasses>
+ </genPackages>
+ <genPackages prefix="Hbmodel" basePackage="org.eclipse.emf.teneo.hibernate" disposableProviderFactory="true"
+ ecorePackage="hbmodel.ecore#/">
+ <genClasses image="false" ecoreClass="hbmodel.ecore#//HbAnnotatedETypeElement">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbWhere"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbCollectionOfElements"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbMapKey"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbColumns"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbCascade"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbIdBag"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/hbIndex"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/Filter"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/mapKeyManyToMany"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedETypeElement/formula"/>
+ </genClasses>
+ <genClasses ecoreClass="hbmodel.ecore#//HbAnnotatedEAttribute">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEAttribute/hbType"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEAttribute/generated"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEAttribute/naturalId"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEAttribute/any"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEAttribute/anyMetaDef"/>
+ </genClasses>
+ <genClasses ecoreClass="hbmodel.ecore#//HbAnnotatedEClass">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbCache"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbOnDelete"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbWhere"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbProxy"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbNamedQuery"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/FilterDef"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/Filter"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/discriminatorFormula"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/forceDiscriminator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/immutable"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/hbEntity"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEClass/batchSize"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="hbmodel.ecore#//HbAnnotatedEModelElement"/>
+ <genClasses ecoreClass="hbmodel.ecore#//HbAnnotatedEPackage">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEPackage/hbGenericGenerators"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEPackage/hbTypeDef"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEPackage/hbNamedQuery"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEPackage/FilterDef"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEPackage/anyMetaDef"/>
+ </genClasses>
+ <genClasses ecoreClass="hbmodel.ecore#//HbAnnotatedEReference">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/hbCache"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/hbFetch"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/hbOnDelete"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/naturalId"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/immutable"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/notFound"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/hbType"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/batchSize"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/any"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEReference/anyMetaDef"/>
+ </genClasses>
+ <genClasses ecoreClass="hbmodel.ecore#//HbAnnotatedEDataType">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbTypeDef"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbWhere"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbColumns"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbIdBag"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbIndex"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference hbmodel.ecore#//HbAnnotatedEDataType/hbType"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbmodel.ecore b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbmodel.ecore
new file mode 100755
index 000000000..eca189239
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/model/hbmodel.ecore
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="hbmodel"
+ nsURI="http://www.eclipse.org/emf/teneo/2006/HbModel" nsPrefix="org.eclipse.emf.teneo.hibernate">
+ <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedETypeElement" abstract="true"
+ interface="true" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEStructuralFeature #//HbAnnotatedEModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbWhere" eType="ecore:EClass hbannotation.ecore#//Where"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbCollectionOfElements"
+ eType="ecore:EClass hbannotation.ecore#//CollectionOfElements" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbMapKey" eType="ecore:EClass hbannotation.ecore#//HbMapKey"
+ containment="true">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="elementName" value="hb-map-key"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbColumns" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//Column"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbCascade" eType="ecore:EClass hbannotation.ecore#//Cascade"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbIdBag" eType="ecore:EClass hbannotation.ecore#//IdBag"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbIndex" eType="ecore:EClass hbannotation.ecore#//Index"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="Filter" upperBound="-1"
+ eType="ecore:EClass hbannotation.ecore#//Filter"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mapKeyManyToMany" eType="ecore:EClass hbannotation.ecore#//MapKeyManyToMany"
+ containment="true">
+ <eAnnotations source="teneo/internal/PersistenceMapping">
+ <details key="elementName" value="hb-map-key"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="formula" eType="ecore:EClass hbannotation.ecore#//Formula"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEAttribute" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEAttribute #//HbAnnotatedETypeElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbType" eType="ecore:EClass hbannotation.ecore#//Type"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="generated" eType="ecore:EClass hbannotation.ecore#//Generated"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="naturalId" eType="ecore:EClass hbannotation.ecore#//NaturalId"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="any" eType="ecore:EClass hbannotation.ecore#//Any"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="anyMetaDef" eType="ecore:EClass hbannotation.ecore#//AnyMetaDef"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEClass" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEClass">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbCache" eType="ecore:EClass hbannotation.ecore#//Cache"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbOnDelete" eType="ecore:EClass hbannotation.ecore#//OnDelete"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbWhere" eType="ecore:EClass hbannotation.ecore#//Where"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbProxy" eType="ecore:EClass hbannotation.ecore#//Proxy"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbNamedQuery" upperBound="-1"
+ eType="ecore:EClass hbannotation.ecore#//NamedQuery"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="FilterDef" upperBound="-1"
+ eType="ecore:EClass hbannotation.ecore#//FilterDef"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="Filter" upperBound="-1"
+ eType="ecore:EClass hbannotation.ecore#//Filter"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="discriminatorFormula" eType="ecore:EClass hbannotation.ecore#//DiscriminatorFormula"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="forceDiscriminator" eType="ecore:EClass hbannotation.ecore#//ForceDiscriminator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="immutable" eType="ecore:EClass hbannotation.ecore#//Immutable"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbEntity" eType="ecore:EClass hbannotation.ecore#//HbEntity"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="batchSize" eType="ecore:EClass hbannotation.ecore#//BatchSize"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEModelElement" abstract="true"
+ interface="true" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEModelElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEPackage" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEPackage">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbGenericGenerators" upperBound="-1"
+ eType="ecore:EClass hbannotation.ecore#//GenericGenerator" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbTypeDef" upperBound="-1"
+ eType="ecore:EClass hbannotation.ecore#//TypeDef" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbNamedQuery" upperBound="-1"
+ eType="ecore:EClass hbannotation.ecore#//NamedQuery"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="FilterDef" upperBound="-1"
+ eType="ecore:EClass hbannotation.ecore#//FilterDef"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="anyMetaDef" upperBound="-1"
+ eType="ecore:EClass hbannotation.ecore#//AnyMetaDef"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEReference" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEReference #//HbAnnotatedETypeElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbCache" eType="ecore:EClass hbannotation.ecore#//Cache"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbFetch" eType="ecore:EClass hbannotation.ecore#//Fetch"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbOnDelete" eType="ecore:EClass hbannotation.ecore#//OnDelete"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="naturalId" eType="ecore:EClass hbannotation.ecore#//NaturalId"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="immutable" eType="ecore:EClass hbannotation.ecore#//Immutable"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="notFound" eType="ecore:EClass hbannotation.ecore#//NotFound"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbType" eType="ecore:EClass hbannotation.ecore#//Type"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="batchSize" eType="ecore:EClass hbannotation.ecore#//BatchSize"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="any" eType="ecore:EClass hbannotation.ecore#//Any"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="anyMetaDef" eType="ecore:EClass hbannotation.ecore#//AnyMetaDef"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HbAnnotatedEDataType" eSuperTypes="../../org.eclipse.emf.teneo.annotations/model/pamodel.ecore#//PAnnotatedEDataType #//HbAnnotatedEModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbTypeDef" eType="ecore:EClass hbannotation.ecore#//TypeDef"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbWhere" eType="ecore:EClass hbannotation.ecore#//Where"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbColumns" upperBound="-1"
+ eType="ecore:EClass ../../org.eclipse.emf.teneo.annotations/model/pannotation.ecore#//Column"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbIdBag" eType="ecore:EClass hbannotation.ecore#//IdBag"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbIndex" eType="ecore:EClass hbannotation.ecore#//Index"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hbType" eType="ecore:EClass hbannotation.ecore#//Type"
+ containment="true"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/modeling32.png b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/modeling32.png
new file mode 100755
index 000000000..6b08de2ad
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/modeling32.png
Binary files differ
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.properties b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.properties
new file mode 100755
index 000000000..166bda0ca
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.properties
@@ -0,0 +1,33 @@
+#/**
+# * <copyright>
+# *
+# * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+# * 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:
+# * Martin Taal - Initial API and implementation
+# *
+# * </copyright>
+# *
+# * $Id: plugin.properties,v 1.12 2010/02/06 20:59:38 mtaal Exp $
+# */
+
+# NLS_MESSAGEFORMAT_VAR
+
+# ==============================================================================
+# Do not change the properties between this line and the last line containing:
+# %%% END OF TRANSLATED PROPERTIES %%%
+# Instead, either redefine an existing property, or create a new property,
+# append it to the end of the file, and change the code to use the new name.
+# ==============================================================================
+
+Plugin.name = EMF Teneo Hibernate Mapper
+Plugin.providerName = Eclipse Modeling Project
+
+# ==============================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# The above properties have been shipped for translation.
+# ==============================================================================
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.xml b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.xml
new file mode 100755
index 000000000..6d6e94479
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/plugin.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id: plugin.xml,v 1.3 2009/09/13 14:45:39 mtaal Exp $
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/emf/teneo/2006/HbAnnotation"
+ class="org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage"
+ genModel="model/hbannotation.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/emf/teneo/2006/HbModel"
+ class="org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage"
+ genModel="model/hbannotation.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationModelBuilder.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationModelBuilder.java
new file mode 100755
index 000000000..81ad1dbca
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationModelBuilder.java
@@ -0,0 +1,59 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Douglas Bitting
+ * </copyright>
+ *
+ * $Id: HbAnnotationModelBuilder.java,v 1.3 2008/02/28 07:07:43 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.ENamedElement;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.teneo.annotations.mapper.BasicPamodelBuilder;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEModelElement;
+import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelFactory;
+
+/**
+ * This class create the Hibernate-model versions of the various PaAnnotatedE* objects.
+ */
+public class HbAnnotationModelBuilder extends BasicPamodelBuilder {
+
+ /** Use hb annotation types */
+ @Override
+ protected PAnnotatedEModelElement doCreate(EModelElement eModelElement) throws AssertionError {
+ final EClass eModelElementEClass = eModelElement.eClass();
+ PAnnotatedEModelElement paElement;
+ switch (eModelElementEClass.getClassifierID()) {
+ case EcorePackage.EATTRIBUTE:
+ paElement = HbmodelFactory.eINSTANCE.createHbAnnotatedEAttribute();
+ break;
+ case EcorePackage.EREFERENCE:
+ paElement = HbmodelFactory.eINSTANCE.createHbAnnotatedEReference();
+ break;
+ case EcorePackage.ECLASS:
+ paElement = HbmodelFactory.eINSTANCE.createHbAnnotatedEClass();
+ break;
+ case EcorePackage.EPACKAGE:
+ paElement = HbmodelFactory.eINSTANCE.createHbAnnotatedEPackage();
+ break;
+ case EcorePackage.EENUM:
+ case EcorePackage.EDATA_TYPE:
+ paElement = HbmodelFactory.eINSTANCE.createHbAnnotatedEDataType();
+ break;
+ default:
+ throw new AssertionError("Trying to build HbAnnotatedEModelElement for a " + eModelElementEClass);
+ }
+ paElement.setModelElement((ENamedElement) eModelElement);
+ return paElement;
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationUtil.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationUtil.java
new file mode 100755
index 000000000..663483c4c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbAnnotationUtil.java
@@ -0,0 +1,61 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbAnnotationUtil.java,v 1.5 2010/11/24 07:11:48 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.emf.teneo.annotations.mapper.AbstractAnnotator;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory;
+import org.eclipse.emf.teneo.hibernate.hbannotation.Index;
+import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference;
+
+/**
+ * Some utility methods.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.5 $
+ */
+
+public class HbAnnotationUtil {
+
+ // The logger
+ protected static final Log log = LogFactory.getLog(HbAnnotationUtil.class);
+
+ /** Adds an index */
+ public static void setIndex(PAnnotatedEReference aReference,
+ AbstractAnnotator annotator) {
+ final String indexName = annotator.getPersistenceOptions()
+ .getSQLIndexNamePrefix()
+ + annotator.getEntityName(aReference.getModelEReference()
+ .getEContainingClass())
+ + "_"
+ + aReference.getModelEReference().getName();
+ final HbAnnotatedEReference haReference = (HbAnnotatedEReference) aReference;
+ if (haReference.getHbIndex() == null) {
+ final Index index = HbannotationFactory.eINSTANCE.createIndex();
+ index.setName(indexName);
+ haReference.setHbIndex(index);
+ } else {
+ final Index index = haReference.getHbIndex();
+ if (index.getName() != null && index.getName().length() > 0) {
+ index.setName(index.getName() + ",");
+ }
+ index.setName(index.getName() + indexName);
+ }
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEAnnotationParserImporter.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEAnnotationParserImporter.java
new file mode 100755
index 000000000..54516f7ae
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEAnnotationParserImporter.java
@@ -0,0 +1,77 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbEAnnotationParserImporter.java,v 1.3 2009/09/22 05:39:07 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.teneo.annotations.parser.EAnnotationParserImporter;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage;
+
+/**
+ * Overrides the default EAnnotationParserImporter to add a hibernate source
+ */
+public class HbEAnnotationParserImporter extends EAnnotationParserImporter {
+
+ /** The prefix for hibernate types */
+ private static final String HB_PREFIX = "hb:";
+
+ /** Returns true if the source is a hibernate source or a generic source */
+ @Override
+ protected boolean isValidSource(String source) {
+ if (source == null) {
+ return false;
+ }
+ return source.startsWith("teneo.hibernate") || super.isValidSource(source);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.teneo.annotations.parser.EClassResolver#getEClass(java.lang.String)
+ */
+ @Override
+ public EClass getEClass(String name) {
+ if (name.startsWith(HB_PREFIX)) {
+ return (EClass) HbannotationPackage.eINSTANCE.getEClassifier(name.substring(HB_PREFIX.length()));
+ } else {
+ final EClass eClass = super.getEClass(name);
+ if (eClass == null) {
+ return (EClass) HbannotationPackage.eINSTANCE.getEClassifier(name);
+ }
+ return eClass;
+ }
+ }
+
+ /** Find the efeature */
+ @Override
+ public EStructuralFeature getEStructuralFeature(EClass eClass, String name) {
+ for (Object name2 : eClass.getEAllStructuralFeatures()) {
+ final EStructuralFeature ef = (EStructuralFeature) name2;
+ if (ef.getName().compareToIgnoreCase(name) == 0) {
+ return ef;
+ }
+ }
+ // not found try with the hb prefix
+ final String hbName = "hb" + name;
+ for (Object name2 : eClass.getEAllStructuralFeatures()) {
+ final EStructuralFeature ef = (EStructuralFeature) name2;
+ if (ef.getName().compareToIgnoreCase(hbName) == 0) {
+ return ef;
+ }
+ }
+ throw new IllegalArgumentException("No efeature " + name + " for eclass " + eClass.getName());
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEClassAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEClassAnnotator.java
new file mode 100755
index 000000000..73d1b8c9c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEClassAnnotator.java
@@ -0,0 +1,208 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbEClassAnnotator.java,v 1.10 2011/09/01 07:52:50 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
+import org.eclipse.emf.teneo.PersistenceOptions;
+import org.eclipse.emf.teneo.annotations.mapper.EClassAnnotator;
+import org.eclipse.emf.teneo.annotations.mapper.StoreMappingException;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedModel;
+import org.eclipse.emf.teneo.ecore.EModelResolver;
+import org.eclipse.emf.teneo.hibernate.hbannotation.Cache;
+import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory;
+import org.eclipse.emf.teneo.hibernate.hbannotation.Proxy;
+import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass;
+
+/**
+ * Sets the annotation on an eclass.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.10 $
+ */
+
+public class HbEClassAnnotator extends EClassAnnotator {
+
+ // The logger
+ protected static final Log log = LogFactory.getLog(HbEClassAnnotator.class);
+
+ private String defaultCacheStrategy = CacheConcurrencyStrategy.NONE
+ .getName();
+ private boolean optionSetProxy = false;
+
+ /**
+ * Returns the annotated version of an EClass, Returns false if no efeatures
+ * of this eclass should be annotated, true if its features can be
+ * annotated.
+ */
+ @Override
+ protected boolean annotate(PAnnotatedEClass aClass) {
+ final boolean res = super.annotate(aClass);
+
+ final HbAnnotatedEClass hbClass = (HbAnnotatedEClass) aClass;
+ final EClass eclass = aClass.getModelEClass();
+ Class<?> concreteClass = EModelResolver.instance().getJavaClass(eclass);
+
+ // automatically add the proxy annotation
+ if ((optionSetProxy || getPersistenceOptions().isForceLazy())
+ && hbClass.getHbProxy() == null) {
+ // in this case use the DynamicEObjectImpl
+ if (concreteClass == null) {
+ concreteClass = DynamicEObjectImpl.class;
+ }
+ if (concreteClass != null || getPersistenceOptions().isForceLazy()) {
+ final Proxy proxy = HbannotationFactory.eINSTANCE.createProxy();
+ proxy.setLazy(true);
+ // interface class is set below.
+ ((HbAnnotatedEClass) aClass).setHbProxy(proxy);
+ log.debug("Set proxy to true (" + proxy.getProxyClass()
+ + ") for eclass " + aClass.getModelEClass().getName());
+ }
+ }
+
+ if (hbClass.getHbProxy() != null && concreteClass != null) {
+ // todo add check that there is an impl class
+ aClass.setOnlyMapAsEntity(false);
+
+ // set interfacename if not set
+ if (!getPersistenceOptions().isForceLazy()) {
+ final Proxy proxy = hbClass.getHbProxy();
+ final Class<?> interfaceClass = EModelResolver.instance()
+ .getJavaInterfaceClass(eclass);
+ if (interfaceClass != null) {
+ proxy.setProxyClass(interfaceClass.getName());
+ } else { // set the class itself
+ proxy.setProxyClass(concreteClass.getName());
+ }
+ }
+ }
+
+ // now handle the case of defaultCacheStrategy which is different than
+ // none
+ boolean hasCache = ((HbAnnotatedEClass) aClass).getHbCache() != null;
+
+ if (aClass.getPaSuperEntity() != null && hasCache) {
+ log.warn("EClass: "
+ + aClass.getModelEClass().getName()
+ + " has a cache strategy defined while it has a superclass, this strategy is ignored.");
+ return res;
+ }
+
+ if (!hasCache
+ && defaultCacheStrategy
+ .compareToIgnoreCase(CacheConcurrencyStrategy.NONE
+ .getName()) != 0) {
+ final CacheConcurrencyStrategy ccs = CacheConcurrencyStrategy
+ .getByName(defaultCacheStrategy);
+ if (ccs == null) {
+ throw new StoreMappingException(
+ "The default cache strategy: "
+ + defaultCacheStrategy
+ + " is not one of the allowed values (uppercase) "
+ + "as defined in the JPA Hibernate Annotation Extensions.");
+ }
+
+ log.debug("Setting cache strategy " + defaultCacheStrategy + " on "
+ + aClass.getModelEClass().getName());
+ final Cache cache = HbannotationFactory.eINSTANCE.createCache();
+ cache.setUsage(ccs);
+ ((HbAnnotatedEClass) aClass).setHbCache(cache);
+ }
+ return res;
+ }
+
+ @Override
+ protected boolean addDiscriminator(PAnnotatedEClass aClass) {
+ final HbAnnotatedEClass hbClass = (HbAnnotatedEClass) aClass;
+
+ return hbClass.getDiscriminatorFormula() == null
+ && (hbClass.getImmutable() == null || getPersistenceOptions()
+ .isDiscriminatorVersionOnImmutableEClass());
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.eclipse.emf.teneo.annotations.mapper.AbstractAnnotator#
+ * setPersistenceOptions(org.eclipse.emf.teneo.PersistenceOptions)
+ */
+ @Override
+ public void setPersistenceOptions(PersistenceOptions persistenceOptions) {
+ super.setPersistenceOptions(persistenceOptions);
+ defaultCacheStrategy = persistenceOptions.getDefaultCacheStrategy();
+ optionSetProxy = persistenceOptions.isSetProxy();
+ }
+
+ /** Set the super entity */
+ @Override
+ protected void setSuperEntity(PAnnotatedEClass aClass) {
+ assert (aClass.getPaSuperEntity() == null);
+
+ // let the superclass do it
+ if (aClass.getEntity() != null
+ && aClass.getEntity().getExtends() != null) {
+ super.setSuperEntity(aClass);
+ return;
+ }
+
+ final EClass eclass = aClass.getModelEClass();
+ if (eclass.getESuperTypes().size() == 0) {
+ aClass.setPaSuperEntity(null);
+ return;
+ }
+
+ PAnnotatedEClass superAClass = getPaSuperEntity(aClass, false);
+ if (superAClass == null) {
+ superAClass = getPaSuperEntity(aClass, true);
+ }
+ aClass.setPaSuperEntity(superAClass);
+ }
+
+ /** Compute the annotated superclass, ignore interfaces if parameterized */
+ private PAnnotatedEClass getPaSuperEntity(PAnnotatedEClass aClass,
+ boolean allowInterfaces) {
+ final PAnnotatedModel model = aClass.getPaModel();
+ for (EClass superEClass : aClass.getModelEClass().getESuperTypes()) {
+ final PAnnotatedEClass x = model.getPAnnotated(superEClass);
+ if (x.getEntity() != null && x.getMappedSuperclass() == null
+ && (allowInterfaces || !x.getModelEClass().isInterface())) {
+ return x;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Map Interface EClasses, default false, overridden by hibernate to return
+ * true
+ */
+ @Override
+ protected boolean mapInterfaceEClass() {
+ return true;
+ }
+
+ /** Map a mapped superclass, this differs for jpox and hibernate */
+ @Override
+ protected boolean mapMappedSuperEClass() {
+ return true;
+ }
+
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEDataTypeAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEDataTypeAnnotator.java
new file mode 100755
index 000000000..aa73555ef
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEDataTypeAnnotator.java
@@ -0,0 +1,121 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbEDataTypeAnnotator.java,v 1.6 2008/05/27 07:42:29 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.teneo.annotations.mapper.EDataTypeAnnotator;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEDataType;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory;
+import org.eclipse.emf.teneo.hibernate.hbannotation.Parameter;
+import org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef;
+import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType;
+import org.eclipse.emf.teneo.hibernate.mapper.HbMapperConstants;
+import org.eclipse.emf.teneo.util.EcoreDataTypes;
+
+/**
+ * Annotates an EDataType
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.6 $
+ */
+
+public class HbEDataTypeAnnotator extends EDataTypeAnnotator {
+
+ // The logger
+ protected static final Log log = LogFactory.getLog(HbEDataTypeAnnotator.class);
+
+ /** Annotate it */
+ @Override
+ public void annotate(PAnnotatedEDataType ped) {
+ final HbAnnotatedEDataType hed = (HbAnnotatedEDataType) ped;
+ if (hed.getHbTypeDef() != null) {
+ return; // already there do nothing
+ }
+ final String typeClass = getCustomDataType(ped.getModelEDataType());
+ if (typeClass == null) {
+ log.debug("Not creating typedef for edatatype: " + ped.getModelEDataType().getName() +
+ " because it is natively handled by hibernate");
+ return;
+ }
+
+ // create default typedef
+ log.debug("Creating default typedef for edatatype " + hed.getModelEDataType().getName());
+ final TypeDef typeDef = HbannotationFactory.eINSTANCE.createTypeDef();
+ typeDef.setName(hed.getModelEDataType().getEPackage().getName() + "." + ped.getModelEDataType().getName());
+ typeDef.setTypeClass(getDefaultUserType());
+ // add default parameters
+ final Parameter paramPackage = HbannotationFactory.eINSTANCE.createParameter();
+ paramPackage.setName(HbMapperConstants.EPACKAGE_PARAM);
+ paramPackage.setValue(hed.getModelEDataType().getEPackage().getNsURI());
+ typeDef.getParameters().add(paramPackage);
+ final Parameter edParam = HbannotationFactory.eINSTANCE.createParameter();
+ edParam.setName(HbMapperConstants.EDATATYPE_PARAM);
+ edParam.setValue(hed.getModelEDataType().getName());
+ typeDef.getParameters().add(edParam);
+ hed.setHbTypeDef(typeDef);
+ }
+
+ /**
+ * If the specified classifier represents a custom data type not handled natively by Hibernate,
+ * get the Java class name of the class used to represent the custom data type.
+ *
+ * @param classifier
+ * non-null classifier to inspect.
+ * @return Class name of the custom data type or null if the classifier does not represent a
+ * custom data type that is not already handled by Hibernate.
+ */
+ private String getCustomDataType(EDataType eDataType) {
+ final String typeClassName = eDataType.getInstanceClassName();
+ if (EcoreDataTypes.INSTANCE.isSimpleType(eDataType, getPersistenceOptions())) {
+ return null;
+ } else if (EcoreDataTypes.INSTANCE.isEnum(eDataType)) {
+ return null;
+ } else if (eDataType.getInstanceClass() == Object.class) {
+ return null;
+// } else if (typeClassName != null && TypeFactory.basic(typeClassName) != null) {
+// // If Hibernate natively handles the type then don't bother creating
+// // a typedef.
+// return null;
+ }
+ if (typeClassName != null) {
+ final Class<?> instanceClass = eDataType.getInstanceClass();
+ if (instanceClass != null && instanceClass.isArray()) {
+ final Class<?> compClass = instanceClass.getComponentType();
+ if (EcoreDataTypes.INSTANCE.isPrimitive(compClass)) {
+ return null;
+ }
+ // get rid of the [] at the end
+// final String primType = typeClassName.substring(0, typeClassName.length() - 2);
+ // check if hb supports it
+ // no dots is primitve
+// if (TypeFactory.basic(primType) != null) {
+// return null; // if so let hb do it
+// }
+ }
+ }
+
+ return typeClassName;
+ }
+
+ /** Return the default user type */
+ public String getDefaultUserType() {
+ return "org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType";
+ }
+
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEFeatureAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEFeatureAnnotator.java
new file mode 100755
index 000000000..98fc47830
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbEFeatureAnnotator.java
@@ -0,0 +1,35 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbEFeatureAnnotator.java,v 1.3 2008/05/27 07:42:29 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.eclipse.emf.teneo.annotations.mapper.EFeatureAnnotator;
+
+/**
+ * Overrides the mapVolitileFeature (is true for hibernate).
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.3 $
+ */
+
+public class HbEFeatureAnnotator extends EFeatureAnnotator {
+
+ /** Map the feature if it is volatile, default is false */
+ @Override
+ protected boolean mapVolitatileFeature() {
+ return true;
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbManyToOneReferenceAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbManyToOneReferenceAnnotator.java
new file mode 100755
index 000000000..0d42da910
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbManyToOneReferenceAnnotator.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbManyToOneReferenceAnnotator.java,v 1.5 2008/09/21 19:26:04 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.emf.teneo.PersistenceOptions;
+import org.eclipse.emf.teneo.annotations.mapper.ManyToOneReferenceAnnotator;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass;
+
+/**
+ * Annotates an ereference.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.5 $
+ */
+
+public class HbManyToOneReferenceAnnotator extends ManyToOneReferenceAnnotator {
+
+ // The logger
+ protected static final Log log = LogFactory.getLog(HbManyToOneReferenceAnnotator.class);
+
+ private boolean optionSetProxy = false;
+
+ /** Annotate it */
+ @Override
+ public void annotate(PAnnotatedEReference aReference) {
+ if (getPersistenceOptions().isAddIndexForForeignKey()) {
+ HbAnnotationUtil.setIndex(aReference, this);
+ }
+ super.annotate(aReference);
+ }
+
+ @Override
+ protected FetchType getFetch(PAnnotatedEClass aClass) {
+ if (aClass == null) {
+ // happens when any type
+ return FetchType.EAGER;
+ }
+ if (optionSetProxy) {
+ return FetchType.LAZY;
+ }
+ if (((HbAnnotatedEClass) aClass).getHbProxy() != null) {
+ return FetchType.LAZY;
+ }
+ return super.getFetch(aClass);
+ }
+
+ @Override
+ public void setPersistenceOptions(PersistenceOptions persistenceOptions) {
+ super.setPersistenceOptions(persistenceOptions);
+ optionSetProxy = persistenceOptions.isSetProxy();
+ }
+
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbMappingSchemaGenerator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbMappingSchemaGenerator.java
new file mode 100755
index 000000000..4a1b47404
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbMappingSchemaGenerator.java
@@ -0,0 +1,91 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Douglas Bitting
+ * </copyright>
+ *
+ * $Id: HbMappingSchemaGenerator.java,v 1.3 2008/03/30 10:01:15 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import java.io.FileWriter;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.teneo.annotations.StoreAnnotationsException;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+import org.eclipse.emf.teneo.annotations.xml.PersistenceMappingSchemaGenerator;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage;
+import org.eclipse.emf.teneo.hibernate.hbmodel.HbmodelPackage;
+
+/**
+ * Generates the xsd for the hibernate mapping.
+ */
+public class HbMappingSchemaGenerator extends PersistenceMappingSchemaGenerator {
+
+ /** The main method */
+ public static void main(String[] args) {
+ final HbMappingSchemaGenerator pmsg = new HbMappingSchemaGenerator();
+ pmsg.setAnnotationEPackages(new EPackage[] { HbannotationPackage.eINSTANCE, PannotationPackage.eINSTANCE });
+ pmsg.setModelEPackage(HbmodelPackage.eINSTANCE);
+ pmsg.setNameSpace("http://www.eclipse.org/emft/teneo");
+ try {
+ final FileWriter fw = new FileWriter("/home/mtaal/mytmp/persistence-mapping-hibernate.xsd");
+ fw.write(pmsg.generate());
+ fw.close();
+ } catch (Exception e) {
+ throw new StoreAnnotationsException("Exception while generating mapping.xsd", e);
+ }
+ }
+
+ /** Return the PAnnotatedEClass */
+ @Override
+ protected EClass getPAnnotatedEPackage() {
+ return (EClass) getModelEPackage().getEClassifier("HbAnnotatedEPackage");
+ }
+
+ /** Return the PAnnotatedEClass */
+ @Override
+ protected EClass getPAnnotatedEClass() {
+ return (EClass) getModelEPackage().getEClassifier("HbAnnotatedEClass");
+ }
+
+ /** Return the PAnnotatedEReference */
+ @Override
+ protected EClass getPAnnotatedEReference() {
+ return (EClass) getModelEPackage().getEClassifier("HbAnnotatedEReference");
+ }
+
+ /** Return the PAnnotatedEAttribute */
+ @Override
+ protected EClass getPAnnotatedEAttribute() {
+ return (EClass) getModelEPackage().getEClassifier("HbAnnotatedEAttribute");
+ }
+
+ /** Return the PAnnotatedEDataType */
+ @Override
+ protected EClass getPAnnotatedEDataType() {
+ return (EClass) getModelEPackage().getEClassifier("HbAnnotatedEDataType");
+ }
+
+ /** get rid of the hb- prefix */
+ @Override
+ protected String convertToXmlName(String name) {
+ String result = super.convertToXmlName(name);
+ if (result.compareTo("hb-column") == 0) {
+ return "columns"; // prevents a specific nameclash
+ }
+ if (result.startsWith("hb-") && result.compareTo("hb-map-key") != 0) {
+ return result.substring(3);
+ }
+ return result;
+ }
+} \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyAttributeAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyAttributeAnnotator.java
new file mode 100755
index 000000000..09a559a67
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyAttributeAnnotator.java
@@ -0,0 +1,99 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbOneToManyAttributeAnnotator.java,v 1.5 2008/05/27 07:42:29 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.emf.teneo.annotations.mapper.OneToManyAttributeAnnotator;
+import org.eclipse.emf.teneo.annotations.mapper.SingleAttributeAnnotator;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute;
+import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements;
+import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute;
+import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEDataType;
+
+/**
+ * Annotates a one-to-many attribute (an eattribute with ismany=true), an example is a list of
+ * primitives (list of ints).
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.5 $
+ */
+
+public class HbOneToManyAttributeAnnotator extends OneToManyAttributeAnnotator {
+
+ // The logger
+ protected static final Log log = LogFactory.getLog(HbOneToManyAttributeAnnotator.class);
+
+ protected SingleAttributeAnnotator singleAttributeAnnotator;
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ singleAttributeAnnotator = createAnnotator(SingleAttributeAnnotator.class);
+ }
+
+ /** Process the features of the eclass */
+ @Override
+ public void annotate(PAnnotatedEAttribute aAttribute) {
+ boolean isCollectionOfElements =
+ (aAttribute instanceof HbAnnotatedEAttribute && null != ((HbAnnotatedEAttribute) aAttribute)
+ .getHbCollectionOfElements());
+
+ final HbAnnotatedEAttribute hea = (HbAnnotatedEAttribute) aAttribute;
+ final HbAnnotatedEDataType hed =
+ (HbAnnotatedEDataType) aAttribute.getPaModel().getPAnnotated(
+ aAttribute.getModelEAttribute().getEAttributeType());
+ if (isCollectionOfElements) {
+ CollectionOfElements coe = ((HbAnnotatedEAttribute) aAttribute).getHbCollectionOfElements();
+ if (coe.getTargetElement() == null) {
+ coe.setTargetElement(getTargetTypeName(aAttribute));
+ }
+ } else if (hea.getHbType() != null && hea.getOneToMany() == null && !aAttribute.getModelEAttribute().isMany()) {
+ // assume this to be a single attribute, we can get here when
+ // the instance is an array or list in that case the user type is
+ // assumed
+ // to be able to handle the complete list/collection
+ singleAttributeAnnotator.annotate(aAttribute);
+ } else if (hed != null && hed.getHbTypeDef() != null && hea.getOneToMany() == null &&
+ !aAttribute.getModelEAttribute().isMany()) {
+ // assume this to be a single attribute, we can get here when
+ // the instance is an array or list in that case the user type is
+ // assumed
+ // to be able to handle the complete list/collection
+ singleAttributeAnnotator.annotate(aAttribute);
+ } else {
+ super.annotate(aAttribute);
+ }
+ }
+
+// MT: is now recomputed in the mapping step
+// /** Returns the type name of a many attribute */
+// @Override
+// protected String getTargetTypeName(PAnnotatedEAttribute aAttribute) {
+// final HbAnnotatedEDataType ped =
+// (HbAnnotatedEDataType) aAttribute.getPaModel().getPAnnotated(
+// aAttribute.getModelEAttribute().getEAttributeType());
+// if (ped != null && ped.getHbTypeDef() != null) {
+// return ped.getHbTypeDef().getName();
+// }
+// if (((HbAnnotatedEAttribute) aAttribute).getHbType() != null) {
+// return ((HbAnnotatedEAttribute) aAttribute).getHbType().getType();
+// }
+// return EcoreDataTypes.INSTANCE.getTargetTypeName(aAttribute);
+// }
+
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyReferenceAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyReferenceAnnotator.java
new file mode 100755
index 000000000..addd021e2
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToManyReferenceAnnotator.java
@@ -0,0 +1,167 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbOneToManyReferenceAnnotator.java,v 1.6 2011/02/21 04:45:23 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.emf.teneo.PersistenceOptions;
+import org.eclipse.emf.teneo.annotations.mapper.OneToManyReferenceAnnotator;
+import org.eclipse.emf.teneo.annotations.mapper.StoreMappingException;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference;
+import org.eclipse.emf.teneo.annotations.pannotation.CascadeType;
+import org.eclipse.emf.teneo.annotations.pannotation.OneToMany;
+import org.eclipse.emf.teneo.hibernate.hbannotation.Cache;
+import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy;
+import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory;
+import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEReference;
+
+/**
+ * Annotates an ereference.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.6 $
+ */
+
+public class HbOneToManyReferenceAnnotator extends OneToManyReferenceAnnotator {
+
+ // The logger
+ protected static final Log log = LogFactory
+ .getLog(HbOneToManyReferenceAnnotator.class);
+ private String defaultCacheStrategy = CacheConcurrencyStrategy.NONE
+ .getName();
+
+ /** Annotate it */
+ @Override
+ public void annotate(PAnnotatedEReference aReference) {
+ boolean isCollectionOfElements = (aReference instanceof HbAnnotatedEReference && null != ((HbAnnotatedEReference) aReference)
+ .getHbCollectionOfElements());
+
+ HbAnnotatedEReference hbReference = (HbAnnotatedEReference) aReference;
+
+ final OneToMany otm = aReference.getOneToMany();
+ final boolean doHbCascade = otm == null || otm.getCascade().isEmpty();
+
+ // add an idbag annotation
+ if (getPersistenceOptions().alwaysMapListAsIdBag()
+ && aReference.getModelEReference().isMany()
+ && aReference.getOneToMany() == null
+ && !aReference.getModelEReference().isContainment()) {
+ hbReference.setHbIdBag(HbannotationFactory.eINSTANCE.createIdBag());
+ // add a join table
+ }
+
+ if (getPersistenceOptions().isAddIndexForForeignKey()) {
+ HbAnnotationUtil.setIndex(aReference, this);
+ }
+
+ if (!isCollectionOfElements) {
+ super.annotate(aReference);
+ }
+
+ // now handle the case of defaultCacheStrategy which is different than
+ // none
+ boolean hasCache = hbReference.getHbCache() != null;
+ if (!hasCache
+ && defaultCacheStrategy
+ .compareToIgnoreCase(CacheConcurrencyStrategy.NONE
+ .getName()) != 0) {
+ final CacheConcurrencyStrategy ccs = CacheConcurrencyStrategy
+ .getByName(defaultCacheStrategy);
+ if (ccs == null) {
+ throw new StoreMappingException(
+ "The default cache strategy: "
+ + defaultCacheStrategy
+ + " is not one of the allowed values (uppercase) "
+ + "as defined in the JPA Hibernate Annotation Extensions.");
+ }
+
+ log.debug("Setting cache strategy " + defaultCacheStrategy + " on "
+ + aReference.getModelEReference().getName());
+ final Cache cache = HbannotationFactory.eINSTANCE.createCache();
+ cache.setUsage(ccs);
+ hbReference.setHbCache(cache);
+ }
+
+ if (doHbCascade && hbReference.getHbCascade() == null) {
+ String option = "";
+ if (aReference.getModelEReference().isContainment()) {
+ if (getPersistenceOptions().isSetCascadeAllOnContainment()) {
+ option = HbCascadeType.ALL.getName();
+ } else {
+ option = getPersistenceOptions()
+ .getCascadePolicyForContainment();
+ }
+ // translate a previous default to LOCK, SAVE_UPDAT
+ if (getPersistenceOptions().isSetCascadePersistOnContainment()) {
+ option += HbCascadeType.LOCK.getName() + ", "
+ + HbCascadeType.SAVE_UPDATE.getName();
+ }
+ } else if (getPersistenceOptions()
+ .isSetCascadePolicyForNonContainment()) {
+ option = getPersistenceOptions()
+ .getCascadePolicyForNonContainment();
+ // translate a previous default to LOCK, SAVE_UPDAT
+ if (getPersistenceOptions()
+ .isSetCascadePersistOnNonContainment()) {
+ option += HbCascadeType.LOCK.getName() + ", "
+ + HbCascadeType.SAVE_UPDATE.getName();
+ }
+ } else {
+ option = HbCascadeType.PERSIST.getName() + ", "
+ + HbCascadeType.MERGE.getName() + ", "
+ + HbCascadeType.REFRESH.getName() + ", "
+ + HbCascadeType.LOCK.getName() + ", "
+ + HbCascadeType.SAVE_UPDATE.getName();
+ }
+
+ final Cascade hbCascade = HbannotationFactory.eINSTANCE
+ .createCascade();
+ for (HbCascadeType hbCascadeValue : HbCascadeType.values()) {
+ if (option.contains(hbCascadeValue.getName())) {
+ hbCascade.getValue().add(hbCascadeValue);
+ }
+ }
+ if (hbCascade.getValue().size() > 0) {
+ hbReference.setHbCascade(hbCascade);
+ }
+ }
+ }
+
+ protected void setCascade(List<CascadeType> cascadeList,
+ boolean isContainment) {
+ if (!cascadeList.isEmpty()) {
+ return;
+ }
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.teneo.annotations.mapper.AbstractAnnotator#
+ * setPersistenceOptions(org.eclipse.emf.teneo.PersistenceOptions)
+ */
+ @Override
+ public void setPersistenceOptions(PersistenceOptions persistenceOptions) {
+ super.setPersistenceOptions(persistenceOptions);
+ defaultCacheStrategy = persistenceOptions.getDefaultCacheStrategy();
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToOneReferenceAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToOneReferenceAnnotator.java
new file mode 100755
index 000000000..5a797ce06
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbOneToOneReferenceAnnotator.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbOneToOneReferenceAnnotator.java,v 1.5 2008/09/21 19:26:04 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.emf.teneo.PersistenceOptions;
+import org.eclipse.emf.teneo.annotations.mapper.OneToOneReferenceAnnotator;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEClass;
+
+/**
+ * Annotates an ereference.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.5 $
+ */
+
+public class HbOneToOneReferenceAnnotator extends OneToOneReferenceAnnotator {
+
+ // The logger
+ protected static final Log log = LogFactory.getLog(HbOneToOneReferenceAnnotator.class);
+
+ private boolean optionSetProxy = false;
+
+ /** Annotate it */
+ @Override
+ public void annotate(PAnnotatedEReference aReference) {
+ if (getPersistenceOptions().isAddIndexForForeignKey()) {
+ HbAnnotationUtil.setIndex(aReference, this);
+ }
+ super.annotate(aReference);
+ }
+
+ @Override
+ protected FetchType getFetch(PAnnotatedEClass aClass) {
+ if (aClass == null) {
+ // happens when any type
+ return FetchType.EAGER;
+ }
+ if (optionSetProxy) {
+ return FetchType.LAZY;
+ }
+ if (((HbAnnotatedEClass) aClass).getHbProxy() != null) {
+ return FetchType.LAZY;
+ }
+ return super.getFetch(aClass);
+ }
+
+ @Override
+ public void setPersistenceOptions(PersistenceOptions persistenceOptions) {
+ super.setPersistenceOptions(persistenceOptions);
+ optionSetProxy = persistenceOptions.isSetProxy();
+ }
+
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbSingleAttributeAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbSingleAttributeAnnotator.java
new file mode 100755
index 000000000..18086a4ff
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbSingleAttributeAnnotator.java
@@ -0,0 +1,40 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbSingleAttributeAnnotator.java,v 1.1 2008/07/12 13:10:34 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.eclipse.emf.teneo.annotations.mapper.SingleAttributeAnnotator;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEAttribute;
+import org.eclipse.emf.teneo.hibernate.hbmodel.HbAnnotatedEAttribute;
+
+/**
+ * Handles the hibernate formula (don't add columns if there is a formula annotation).
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.1 $
+ */
+
+public class HbSingleAttributeAnnotator extends SingleAttributeAnnotator {
+ @Override
+ protected void addColumnConstraints(PAnnotatedEAttribute aAttribute) {
+ final HbAnnotatedEAttribute hbAttr = (HbAnnotatedEAttribute) aAttribute;
+ if (hbAttr.getFormula() != null) {
+ return;
+ }
+ super.addColumnConstraints(aAttribute);
+ }
+
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbUnidirectionalManyToManyAnnotator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbUnidirectionalManyToManyAnnotator.java
new file mode 100755
index 000000000..07e5d853e
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbUnidirectionalManyToManyAnnotator.java
@@ -0,0 +1,49 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbUnidirectionalManyToManyAnnotator.java,v 1.3 2008/05/27 07:42:29 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.emf.teneo.annotations.mapper.UnidirectionalManyToManyAnnotator;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference;
+
+/**
+ * Annotates a one-to-many attribute (an eattribute with ismany=true), an example is a list of
+ * primitives (list of ints).
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.3 $
+ */
+
+public class HbUnidirectionalManyToManyAnnotator extends UnidirectionalManyToManyAnnotator {
+
+ // The logger
+ protected static final Log log = LogFactory.getLog(HbUnidirectionalManyToManyAnnotator.class);
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.teneo.annotations.mapper.UnidirectionalManyToManyAnnotator#annotate(org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEReference)
+ */
+ @Override
+ public void annotate(PAnnotatedEReference reference) {
+ if (getPersistenceOptions().isAddIndexForForeignKey()) {
+ HbAnnotationUtil.setIndex(reference, this);
+ }
+ annotate(reference);
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbXmlPersistenceMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbXmlPersistenceMapper.java
new file mode 100755
index 000000000..e711c056e
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/HbXmlPersistenceMapper.java
@@ -0,0 +1,29 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * 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:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: HbXmlPersistenceMapper.java,v 1.2 2008/02/28 07:07:43 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.annotations;
+
+import org.eclipse.emf.teneo.annotations.xml.XmlPersistenceMapper;
+
+/**
+ * Overrides the xml persistence mapper for providing an additional prefix.
+ */
+public class HbXmlPersistenceMapper extends XmlPersistenceMapper {
+ /** Return the hb prefix */
+ @Override
+ protected String getPrefix() {
+ return "hb";
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/persistence-mapping.xsd b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/persistence-mapping.xsd
new file mode 100755
index 000000000..1695c2987
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/annotations/persistence-mapping.xsd
@@ -0,0 +1,776 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsd:schema targetNamespace="http://www.eclipse.org/emft/teneo" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.eclipse.org/emft/teneo">
+ <xsd:element name="persistence-mapping" type="PersistenceMapping"/>
+ <xsd:complexType name="PersistenceMapping">
+ <xsd:sequence minOccurs="1" maxOccurs="unbounded">
+ <xsd:element name="epackage" type="EPackage"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="EPackage">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="filter-def" type="FilterDef" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="any-meta-def" type="AnyMetaDef" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="generic-generator" type="GenericGenerator" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbGenericGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="named-query" type="NamedQuery" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="type-def" type="TypeDef" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="sequence-generator" type="SequenceGenerator" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">sequenceGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="sequence-style-generator" type="SequenceStyleGenerator" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">sequenceStyleGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="table-generator" type="TableGenerator" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">tableGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="transient" type="Transient" minOccurs="0"/>
+ <xsd:element name="eclass" type="EClass"/>
+ <xsd:element name="edatatype" type="EDataType"/>
+ </xsd:choice>
+ <xsd:attribute name="namespace-uri" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EClass">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="filter" type="Filter" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="filter-def" type="FilterDef" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="association-override" type="AssociationOverride" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">associationOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="attribute-override" type="AttributeOverride" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="batch-size" type="xsd:int" minOccurs="0"/>
+ <xsd:element name="discriminator-column" type="DiscriminatorColumn" minOccurs="0"/>
+ <xsd:element name="discriminator-formula" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="discriminator-value" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="eav-mapping" type="EAVMapping" minOccurs="0"/>
+ <xsd:element name="embeddable" type="Embeddable" minOccurs="0"/>
+ <xsd:element name="entity" type="Entity" minOccurs="0"/>
+ <xsd:element name="force-discriminator" type="ForceDiscriminator" minOccurs="0"/>
+ <xsd:element name="cache" type="Cache" minOccurs="0"/>
+ <xsd:element name="named-query" type="NamedQuery" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="on-delete" type="OnDeleteAction" minOccurs="0"/>
+ <xsd:element name="proxy" type="Proxy" minOccurs="0"/>
+ <xsd:element name="where" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="id-class" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="immutable" type="Immutable" minOccurs="0"/>
+ <xsd:element name="inheritance" type="InheritanceType" minOccurs="0"/>
+ <xsd:element name="mapped-superclass" type="MappedSuperclass" minOccurs="0"/>
+ <xsd:element name="no-e-a-v-mapping" type="NoEAVMapping" minOccurs="0"/>
+ <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="secondary-table" type="SecondaryTable" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">secondaryTables</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="sequence-generator" type="SequenceGenerator" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">sequenceGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="table" type="Table" minOccurs="0"/>
+ <xsd:element name="table-generator" type="TableGenerator" minOccurs="0"/>
+ <xsd:element name="transient" type="Transient" minOccurs="0"/>
+ <xsd:element name="eattribute" type="EAttribute"/>
+ <xsd:element name="ereference" type="EReference"/>
+ <xsd:element name="property" type="Property"/>
+ <xsd:element name="edatatype" type="EDataType"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EAttribute">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="filter" type="Filter" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="any" type="Any" minOccurs="0"/>
+ <xsd:element name="any-meta-def" type="AnyMetaDef" minOccurs="0"/>
+ <xsd:element name="attribute-override" type="AttributeOverride" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="basic" type="Basic" minOccurs="0"/>
+ <xsd:element name="column" type="Column" minOccurs="0"/>
+ <xsd:element name="enumerated" type="EnumType" minOccurs="0"/>
+ <xsd:element name="foreign-key" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="formula" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="generated" type="GenerationTime" minOccurs="0"/>
+ <xsd:element name="generated-value" type="GeneratedValue" minOccurs="0"/>
+ <xsd:element name="cascade" type="HbCascadeType" minOccurs="0"/>
+ <xsd:element name="collection-of-elements" type="CollectionOfElements" minOccurs="0"/>
+ <xsd:element name="columns" type="Column" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="id-bag" type="IdBag" minOccurs="0"/>
+ <xsd:element name="index" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="hb-map-key" type="Column" minOccurs="0">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbMapKey</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="type" type="Type" minOccurs="0"/>
+ <xsd:element name="where" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="id" type="Id" minOccurs="0"/>
+ <xsd:element name="join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-table" type="JoinTable" minOccurs="0"/>
+ <xsd:element name="list-index-column" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="lob" type="Lob" minOccurs="0"/>
+ <xsd:element name="natural-id" type="xsd:boolean" minOccurs="0"/>
+ <xsd:element name="one-to-many" type="OneToMany" minOccurs="0"/>
+ <xsd:element name="sequence-generator" type="SequenceGenerator" minOccurs="0"/>
+ <xsd:element name="table-generator" type="TableGenerator" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">tableGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="temporal" type="TemporalType" minOccurs="0"/>
+ <xsd:element name="transient" type="Transient" minOccurs="0"/>
+ <xsd:element name="version" type="Version" minOccurs="0"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EReference">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="filter" type="Filter" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="any" type="Any" minOccurs="0"/>
+ <xsd:element name="any-meta-def" type="AnyMetaDef" minOccurs="0"/>
+ <xsd:element name="association-override" type="AssociationOverride" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">associationOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="attribute-override" type="AttributeOverride" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="batch-size" type="xsd:int" minOccurs="0"/>
+ <xsd:element name="column" type="Column" minOccurs="0"/>
+ <xsd:element name="embedded" type="Embedded" minOccurs="0"/>
+ <xsd:element name="embedded-id" type="EmbeddedId" minOccurs="0"/>
+ <xsd:element name="external" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="foreign-key" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="formula" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="cache" type="Cache" minOccurs="0"/>
+ <xsd:element name="cascade" type="HbCascadeType" minOccurs="0"/>
+ <xsd:element name="collection-of-elements" type="CollectionOfElements" minOccurs="0"/>
+ <xsd:element name="columns" type="Column" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="fetch" type="HbFetchType" minOccurs="0"/>
+ <xsd:element name="id-bag" type="IdBag" minOccurs="0"/>
+ <xsd:element name="index" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="hb-map-key" type="Column" minOccurs="0">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbMapKey</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="on-delete" type="OnDeleteAction" minOccurs="0"/>
+ <xsd:element name="type" type="Type" minOccurs="0"/>
+ <xsd:element name="where" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="immutable" type="Immutable" minOccurs="0"/>
+ <xsd:element name="join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-table" type="JoinTable" minOccurs="0"/>
+ <xsd:element name="list-index-column" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="many-to-many" type="ManyToMany" minOccurs="0"/>
+ <xsd:element name="many-to-one" type="ManyToOne" minOccurs="0"/>
+ <xsd:element name="map-key" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="natural-id" type="xsd:boolean" minOccurs="0"/>
+ <xsd:element name="not-found" type="NotFoundAction" minOccurs="0"/>
+ <xsd:element name="one-to-many" type="OneToMany" minOccurs="0"/>
+ <xsd:element name="one-to-one" type="OneToOne" minOccurs="0"/>
+ <xsd:element name="order-by" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="sequence-generator" type="SequenceGenerator" minOccurs="0"/>
+ <xsd:element name="table-generator" type="TableGenerator" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">tableGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="transient" type="Transient" minOccurs="0"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="Property">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="filter" type="Filter" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="any" type="Any" minOccurs="0"/>
+ <xsd:element name="any-meta-def" type="AnyMetaDef" minOccurs="0"/>
+ <xsd:element name="association-override" type="AssociationOverride" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">associationOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="attribute-override" type="AttributeOverride" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="basic" type="Basic" minOccurs="0"/>
+ <xsd:element name="batch-size" type="xsd:int" minOccurs="0"/>
+ <xsd:element name="column" type="Column" minOccurs="0"/>
+ <xsd:element name="embedded" type="Embedded" minOccurs="0"/>
+ <xsd:element name="embedded-id" type="EmbeddedId" minOccurs="0"/>
+ <xsd:element name="enumerated" type="EnumType" minOccurs="0"/>
+ <xsd:element name="external" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="foreign-key" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="formula" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="generated" type="GenerationTime" minOccurs="0"/>
+ <xsd:element name="generated-value" type="GeneratedValue" minOccurs="0"/>
+ <xsd:element name="cache" type="Cache" minOccurs="0"/>
+ <xsd:element name="cascade" type="HbCascadeType" minOccurs="0"/>
+ <xsd:element name="collection-of-elements" type="CollectionOfElements" minOccurs="0"/>
+ <xsd:element name="columns" type="Column" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="fetch" type="HbFetchType" minOccurs="0"/>
+ <xsd:element name="id-bag" type="IdBag" minOccurs="0"/>
+ <xsd:element name="index" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="hb-map-key" type="Column" minOccurs="0">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbMapKey</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="on-delete" type="OnDeleteAction" minOccurs="0"/>
+ <xsd:element name="type" type="Type" minOccurs="0"/>
+ <xsd:element name="where" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="id" type="Id" minOccurs="0"/>
+ <xsd:element name="immutable" type="Immutable" minOccurs="0"/>
+ <xsd:element name="join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-table" type="JoinTable" minOccurs="0"/>
+ <xsd:element name="list-index-column" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="lob" type="Lob" minOccurs="0"/>
+ <xsd:element name="many-to-many" type="ManyToMany" minOccurs="0"/>
+ <xsd:element name="many-to-one" type="ManyToOne" minOccurs="0"/>
+ <xsd:element name="map-key" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="natural-id" type="xsd:boolean" minOccurs="0"/>
+ <xsd:element name="not-found" type="NotFoundAction" minOccurs="0"/>
+ <xsd:element name="one-to-many" type="OneToMany" minOccurs="0"/>
+ <xsd:element name="one-to-one" type="OneToOne" minOccurs="0"/>
+ <xsd:element name="order-by" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="sequence-generator" type="SequenceGenerator" minOccurs="0"/>
+ <xsd:element name="table-generator" type="TableGenerator" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">tableGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="temporal" type="TemporalType" minOccurs="0"/>
+ <xsd:element name="transient" type="Transient" minOccurs="0"/>
+ <xsd:element name="version" type="Version" minOccurs="0"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EDataType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="basic" type="Basic" minOccurs="0"/>
+ <xsd:element name="column" type="Column" minOccurs="0"/>
+ <xsd:element name="enumerated" type="EnumType" minOccurs="0"/>
+ <xsd:element name="generated-value" type="GeneratedValue" minOccurs="0"/>
+ <xsd:element name="columns" type="Column" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="id-bag" type="IdBag" minOccurs="0"/>
+ <xsd:element name="index" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="type" type="Type" minOccurs="0"/>
+ <xsd:element name="type-def" type="TypeDef" minOccurs="0"/>
+ <xsd:element name="where" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="id" type="Id" minOccurs="0"/>
+ <xsd:element name="lob" type="Lob" minOccurs="0"/>
+ <xsd:element name="temporal" type="TemporalType" minOccurs="0"/>
+ <xsd:element name="transient" type="Transient" minOccurs="0"/>
+ <xsd:element name="version" type="Version" minOccurs="0"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+<xsd:complexType name="Any">
+ <xsd:sequence>
+ <xsd:element name="meta-column" type="Column" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="meta-def" type="xsd:string" use="optional"/>
+ <xsd:attribute name="optional" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="AnyMetaDef">
+ <xsd:sequence>
+ <xsd:element name="meta-value" type="MetaValue" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">metaValues</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id-type" type="xsd:string" use="required"/>
+ <xsd:attribute name="meta-type" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="Cache">
+ <xsd:attribute name="include" type="xsd:string" use="optional"/>
+ <xsd:attribute name="region" type="xsd:string" use="optional"/>
+ <xsd:attribute name="usage" type="CacheConcurrencyStrategy" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="CacheConcurrencyStrategy">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="NONE"/>
+ <xsd:enumeration value="READ_ONLY"/>
+ <xsd:enumeration value="NONSTRICT_READ_WRITE"/>
+ <xsd:enumeration value="READ_WRITE"/>
+ <xsd:enumeration value="TRANSACTIONAL"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="CollectionOfElements">
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="target-element" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="Filter">
+ <xsd:attribute name="condition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="FilterDef">
+ <xsd:sequence>
+ <xsd:element name="parameter" type="ParamDef" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">parameters</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="default-condition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="ForceDiscriminator"/>
+<xsd:simpleType name="GenerationTime">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="NEVER"/>
+ <xsd:enumeration value="INSERT"/>
+ <xsd:enumeration value="ALWAYS"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="GenericGenerator">
+ <xsd:sequence>
+ <xsd:element name="parameter" type="Parameter" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">parameters</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="strategy" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:simpleType name="HbCascadeType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ALL"/>
+ <xsd:enumeration value="PERSIST"/>
+ <xsd:enumeration value="MERGE"/>
+ <xsd:enumeration value="REMOVE"/>
+ <xsd:enumeration value="REFRESH"/>
+ <xsd:enumeration value="DELETE"/>
+ <xsd:enumeration value="SAVE_UPDATE"/>
+ <xsd:enumeration value="REPLICATE"/>
+ <xsd:enumeration value="DELETE_ORPHAN"/>
+ <xsd:enumeration value="LOCK"/>
+ <xsd:enumeration value="EVICT"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="HbEntity">
+ <xsd:attribute name="dynamic-insert" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="dynamic-update" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="mutable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="optimistic-lock" type="OptimisticLockType" use="optional"/>
+ <xsd:attribute name="persister" type="xsd:string" use="optional"/>
+ <xsd:attribute name="polymorphism" type="PolymorphismType" use="optional"/>
+ <xsd:attribute name="select-before-update" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="HbFetchType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="JOIN"/>
+ <xsd:enumeration value="SELECT"/>
+ <xsd:enumeration value="SUBSELECT"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="IdBag">
+ <xsd:attribute name="generator" type="xsd:string" use="optional"/>
+ <xsd:attribute name="table" type="xsd:string" use="optional"/>
+ <xsd:attribute name="type" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="Immutable"/>
+<xsd:complexType name="MapKeyManyToMany">
+ <xsd:sequence>
+ <xsd:element name="join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="MetaValue">
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+ <xsd:attribute name="value" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="NamedQuery">
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="query" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="NotFoundAction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="EXCEPTION"/>
+ <xsd:enumeration value="IGNORE"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:simpleType name="OnDeleteAction">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="NO_ACTION"/>
+ <xsd:enumeration value="CASCADE"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:simpleType name="OptimisticLockType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ALL"/>
+ <xsd:enumeration value="DIRTY"/>
+ <xsd:enumeration value="NONE"/>
+ <xsd:enumeration value="VERSION"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="ParamDef">
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="type" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="Parameter">
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:simpleType name="PolymorphismType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="IMPLICIT"/>
+ <xsd:enumeration value="EXPLICIT"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Proxy">
+ <xsd:attribute name="lazy" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="proxy-class" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="Type">
+ <xsd:sequence>
+ <xsd:element name="parameter" type="Parameter" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">parameters</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="type" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="TypeDef">
+ <xsd:sequence>
+ <xsd:element name="parameter" type="Parameter" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">parameters</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="type-class" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="AssociationOverride">
+ <xsd:sequence>
+ <xsd:element name="join-column" type="JoinColumn" minOccurs="1" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="AttributeOverride">
+ <xsd:sequence>
+ <xsd:element name="column" type="Column" minOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="Basic">
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="optional" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="CascadeType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ALL"/>
+ <xsd:enumeration value="PERSIST"/>
+ <xsd:enumeration value="MERGE"/>
+ <xsd:enumeration value="REMOVE"/>
+ <xsd:enumeration value="REFRESH"/>
+ <xsd:enumeration value="NONE"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Column">
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="index" type="xsd:string" use="optional"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="length" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="nullable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="precision" type="xsd:int" use="optional"/>
+ <xsd:attribute name="scale" type="xsd:int" use="optional"/>
+ <xsd:attribute name="table" type="xsd:string" use="optional"/>
+ <xsd:attribute name="unique" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="unique-key" type="xsd:string" use="optional"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="DiscriminatorColumn">
+ <xsd:sequence>
+ <xsd:element name="column" type="Column" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="discriminator-type" type="DiscriminatorType" use="optional"/>
+ <xsd:attribute name="length" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="DiscriminatorType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="STRING"/>
+ <xsd:enumeration value="CHAR"/>
+ <xsd:enumeration value="INTEGER"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="EAVMapping"/>
+<xsd:complexType name="Embeddable"/>
+<xsd:complexType name="Embedded"/>
+<xsd:complexType name="EmbeddedId"/>
+<xsd:complexType name="Entity">
+ <xsd:attribute name="extends" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="EnumType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ORDINAL"/>
+ <xsd:enumeration value="STRING"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:simpleType name="FetchType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="LAZY"/>
+ <xsd:enumeration value="EAGER"/>
+ <xsd:enumeration value="EXTRA"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="GeneratedValue">
+ <xsd:attribute name="generator" type="xsd:string" use="optional"/>
+ <xsd:attribute name="strategy" type="GenerationType" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="GenerationType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="TABLE"/>
+ <xsd:enumeration value="SEQUENCE"/>
+ <xsd:enumeration value="IDENTITY"/>
+ <xsd:enumeration value="AUTO"/>
+ <xsd:enumeration value="SEQUENCESTYLE"/>
+ <xsd:enumeration value="ASSIGNED"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Id"/>
+<xsd:simpleType name="InheritanceType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SINGLE_TABLE"/>
+ <xsd:enumeration value="TABLE_PER_CLASS"/>
+ <xsd:enumeration value="JOINED"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="JoinColumn">
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="nullable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="table" type="xsd:string" use="optional"/>
+ <xsd:attribute name="unique" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="JoinTable">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="inverse-join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">inverseJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-column" type="JoinColumn" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="unique-constraint" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="Lob"/>
+<xsd:complexType name="ManyToMany">
+ <xsd:sequence>
+ <xsd:element name="cascade" type="CascadeType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="indexed" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="ManyToOne">
+ <xsd:sequence>
+ <xsd:element name="cascade" type="CascadeType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="optional" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="MappedSuperclass"/>
+<xsd:complexType name="NoEAVMapping"/>
+<xsd:complexType name="OneToMany">
+ <xsd:sequence>
+ <xsd:element name="cascade" type="CascadeType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="indexed" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+ <xsd:attribute name="unique" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="OneToOne">
+ <xsd:sequence>
+ <xsd:element name="cascade" type="CascadeType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/>
+ <xsd:attribute name="optional" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="OptimizerType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="NONE"/>
+ <xsd:enumeration value="HILO"/>
+ <xsd:enumeration value="POOLED"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="PrimaryKeyJoinColumn">
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="SecondaryTable">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="pk-join-column" type="PrimaryKeyJoinColumn" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">pkJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="unique-constraint" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="SequenceGenerator">
+ <xsd:attribute name="allocation-size" type="xsd:int" use="optional"/>
+ <xsd:attribute name="initial-value" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="sequence-name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="SequenceStyleGenerator">
+ <xsd:attribute name="increment-size" type="xsd:int" use="optional"/>
+ <xsd:attribute name="initial-value" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="optimizer" type="OptimizerType" use="optional"/>
+ <xsd:attribute name="sequence-name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="Table">
+ <xsd:sequence>
+ <xsd:element name="unique-constraint" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="TableGenerator">
+ <xsd:sequence>
+ <xsd:element name="unique-constraint" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="allocation-size" type="xsd:int" use="optional"/>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="initial-value" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="pk-column-name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="pk-column-value" type="xsd:string" use="optional"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+ <xsd:attribute name="table" type="xsd:string" use="optional"/>
+ <xsd:attribute name="value-column-name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="TemporalType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="DATE"/>
+ <xsd:enumeration value="TIME"/>
+ <xsd:enumeration value="TIMESTAMP"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Transient"/>
+<xsd:complexType name="Version"/>
+</xsd:schema> \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOEntityMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOEntityMapper.java
new file mode 100755
index 000000000..c89473053
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOEntityMapper.java
@@ -0,0 +1,70 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2008 Springsite B.V. and others
+ * 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:
+ * Martin Taal - initial API and implementation
+ **************************************************************************/
+package org.eclipse.emf.teneo.hibernate.cdo;
+
+import java.util.List;
+
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEStructuralFeature;
+import org.eclipse.emf.teneo.hibernate.mapper.EntityMapper;
+import org.eclipse.emf.teneo.simpledom.Element;
+
+/**
+ * Adds mapping for econtainer and eresource.
+ *
+ * @author <a href="mtaal@elver.org">Martin Taal</a>
+ */
+public class CDOEntityMapper extends EntityMapper {
+
+ private PAnnotatedEClass currentEntity = null;
+ private boolean addedExtraMappings = false;
+
+ @Override
+ public void processEntity(PAnnotatedEClass entity) {
+ // not the nicest solution
+ currentEntity = entity;
+ try {
+ addedExtraMappings = false;
+ super.processEntity(entity);
+ } finally {
+ currentEntity = null;
+ }
+ }
+
+ // add container and resource mappings
+ @Override
+ protected void processFeatures(List<PAnnotatedEStructuralFeature> features) {
+ super.processFeatures(features);
+
+ if (!addedExtraMappings && currentEntity.getPaSuperEntity() == null) {
+ final Element entityElement = getHbmContext().getCurrent();
+ final Element resourceElement = entityElement.addElement("property");
+ resourceElement.addAttribute("name", "resourceID");
+ resourceElement.addElement("column").addAttribute("name", "resID_Entity");
+ resourceElement.addElement("column").addAttribute("name", "resID_ID");
+ resourceElement.addElement("column").addAttribute("name", "resID_class");
+ resourceElement
+ .addAttribute("type", "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOIDUserType");
+ final Element containerElement = entityElement.addElement("property");
+ containerElement.addAttribute("name", "containerID");
+ containerElement.addElement("column").addAttribute("name", "contID_Entity");
+ containerElement.addElement("column").addAttribute("name", "contID_ID");
+ containerElement.addElement("column").addAttribute("name", "contID_class");
+ containerElement.addAttribute("type",
+ "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOIDUserType");
+ final Element containingFeatureElement = entityElement.addElement("property");
+ containingFeatureElement.addAttribute("name", "containingFeatureID");
+ containingFeatureElement.addAttribute("column", "contFeatureID");
+ containingFeatureElement.addAttribute("type", "int");
+ addedExtraMappings = true;
+ }
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOHelper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOHelper.java
new file mode 100755
index 000000000..c295db16b
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOHelper.java
@@ -0,0 +1,73 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2008 Springsite B.V. and others
+ * 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:
+ * Martin Taal - initial API and implementation
+ **************************************************************************/
+package org.eclipse.emf.teneo.hibernate.cdo;
+
+import java.util.Properties;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.teneo.PersistenceOptions;
+import org.eclipse.emf.teneo.extension.ExtensionManager;
+import org.eclipse.emf.teneo.extension.ExtensionManagerFactory;
+import org.eclipse.emf.teneo.extension.ExtensionUtil;
+import org.eclipse.emf.teneo.hibernate.mapper.MappingContext;
+import org.eclipse.emf.teneo.hibernate.mapper.MappingUtil;
+
+/**
+ * Offers convenience methods for generating a cdo enabled hibernate mapping.
+ *
+ * @author <a href="mtaal@elver.org">Martin Taal</a>
+ * @deprecated use org.eclipse.emf.cdo.server.hibernate.teneo.CDOHelper
+ */
+public class CDOHelper {
+
+ public static final String GENERATE_FOR_CDO = "generate_for_cdo";
+
+ private static CDOHelper instance = new CDOHelper();
+
+ /**
+ * @return the instance
+ */
+ public static CDOHelper getInstance() {
+ return instance;
+ }
+
+ /**
+ * @param instance
+ * the instance to set
+ */
+ public static void setInstance(CDOHelper instance) {
+ CDOHelper.instance = instance;
+ }
+
+ public void registerCDOExtensions(ExtensionManager extensionManager) {
+ MappingUtil.registerHbExtensions(extensionManager);
+ extensionManager.registerExtension(ExtensionUtil.createExtension(MappingContext.class, CDOMappingContext.class,
+ false));
+ }
+
+ /**
+ * Separate utility method, generates a hibernate mapping for a set of epackages and options. The hibernate.hbm.xml
+ * is returned as a string. The mapping is not registered or used in any other way by Elver.
+ */
+ public String generateMapping(EPackage[] epackages, Properties props) {
+ return generateMapping(epackages, props, ExtensionManagerFactory.getInstance().create());
+ }
+
+ /**
+ * Separate utility method, generates a hibernate mapping for a set of epackages and options. The hibernate.hbm.xml
+ * is returned as a string. The mapping is not registered or used in any other way by Elver.
+ */
+ public String generateMapping(EPackage[] epackages, Properties props, ExtensionManager extensionManager) {
+ props.put(PersistenceOptions.ALSO_MAP_AS_CLASS, "false");
+ CDOHelper.getInstance().registerCDOExtensions(extensionManager);
+ return MappingUtil.generateMapping(epackages, props, extensionManager);
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOMappingContext.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOMappingContext.java
new file mode 100755
index 000000000..15959d834
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/cdo/CDOMappingContext.java
@@ -0,0 +1,108 @@
+/***************************************************************************
+ * Copyright (c) 2004 - 2008 Springsite B.V. and others
+ * 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:
+ * Martin Taal - initial API and implementation
+ **************************************************************************/
+package org.eclipse.emf.teneo.hibernate.cdo;
+
+import org.eclipse.emf.teneo.annotations.pamodel.PAnnotatedEClass;
+import org.eclipse.emf.teneo.extension.ExtensionManager;
+import org.eclipse.emf.teneo.hibernate.mapper.EntityMapper;
+import org.eclipse.emf.teneo.hibernate.mapper.MappingContext;
+import org.eclipse.emf.teneo.simpledom.Element;
+
+/**
+ * Mapping context for CDO. It provides cdo classes as propertyhandler etc.
+ *
+ * @author <a href="mtaal@elver.org">Martin Taal</a>
+ */
+public class CDOMappingContext extends MappingContext {
+
+ /** Add a tuplizer element or not */
+ @Override
+ public void addTuplizerElement(Element entityElement, PAnnotatedEClass aclass) {
+ Element tuplizerElement =
+ new Element("tuplizer").addAttribute("entity-mode", "dynamic-map").addAttribute("class",
+ "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer");
+ entityElement.add(0, tuplizerElement);
+ tuplizerElement =
+ new Element("tuplizer").addAttribute("entity-mode", "pojo").addAttribute("class",
+ "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer");
+ entityElement.add(0, tuplizerElement);
+ }
+
+ public void setExtensionManager(ExtensionManager extensionManager) {
+ super.setExtensionManager(extensionManager);
+ extensionManager.registerExtension(EntityMapper.class.getName(), CDOEntityMapper.class.getName());
+ }
+
+ @Override
+ public String getComponentPropertyHandlerName() {
+ return super.getComponentPropertyHandlerName();
+ }
+
+ @Override
+ public String getIdPropertyHandlerName() {
+ return null;
+ }
+
+ @Override
+ public String getPropertyHandlerName() {
+ return super.getPropertyHandlerName();
+ }
+
+ @Override
+ public String getVersionPropertyHandlerName() {
+ return null;
+ }
+
+ @Override
+ public String getEnumUserType() {
+ return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOENumStringType";
+ }
+
+ @Override
+ public String getEnumIntegerUserType() {
+ return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOENumIntegerType";
+ }
+
+ @Override
+ public String getSyntheticIdPropertyHandlerName() {
+ return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOSyntheticIdPropertyHandler";
+ }
+
+ @Override
+ public String getSyntheticVersionPropertyHandlerName() {
+ return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOSyntheticVersionPropertyHandler";
+ }
+
+ @Override
+ public String getDynamicEnumUserType() {
+ return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOENumStringType";
+ }
+
+ @Override
+ public String getDynamicEnumIntegerUserType() {
+ return "org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOENumIntegerType";
+ }
+
+ @Override
+ public String getDefaultUserType() {
+ return super.getDefaultUserType();
+ }
+
+ @Override
+ public String getXSDDateUserType() {
+ return super.getXSDDateUserType();
+ }
+
+ @Override
+ public String getXSDDateTimeUserType() {
+ return super.getXSDDateTimeUserType();
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Any.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Any.java
new file mode 100644
index 000000000..dd603eb20
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Any.java
@@ -0,0 +1,141 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Any.java,v 1.1 2009/06/27 09:19:10 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Any</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaDef <em>Meta Def</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaColumn <em>Meta Column</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#isOptional <em>Optional</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAny()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface Any extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Meta Def</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Meta Def</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Meta Def</em>' attribute.
+ * @see #setMetaDef(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAny_MetaDef()
+ * @model
+ * @generated
+ */
+ String getMetaDef();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaDef <em>Meta Def</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Meta Def</em>' attribute.
+ * @see #getMetaDef()
+ * @generated
+ */
+ void setMetaDef(String value);
+
+ /**
+ * Returns the value of the '<em><b>Meta Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Meta Column</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>Meta Column</em>' containment reference.
+ * @see #setMetaColumn(Column)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAny_MetaColumn()
+ * @model containment="true"
+ * @generated
+ */
+ Column getMetaColumn();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaColumn <em>Meta Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Meta Column</em>' containment reference.
+ * @see #getMetaColumn()
+ * @generated
+ */
+ void setMetaColumn(Column value);
+
+ /**
+ * Returns the value of the '<em><b>Fetch</b></em>' attribute.
+ * The default value is <code>"EAGER"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.FetchType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fetch</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAny_Fetch()
+ * @model default="EAGER"
+ * @generated
+ */
+ FetchType getFetch();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getFetch <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #getFetch()
+ * @generated
+ */
+ void setFetch(FetchType value);
+
+ /**
+ * Returns the value of the '<em><b>Optional</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Optional</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Optional</em>' attribute.
+ * @see #setOptional(boolean)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAny_Optional()
+ * @model default="true"
+ * @generated
+ */
+ boolean isOptional();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#isOptional <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Optional</em>' attribute.
+ * @see #isOptional()
+ * @generated
+ */
+ void setOptional(boolean value);
+
+} // Any
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/AnyMetaDef.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/AnyMetaDef.java
new file mode 100644
index 000000000..2b5f25ee3
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/AnyMetaDef.java
@@ -0,0 +1,127 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AnyMetaDef.java,v 1.2 2009/06/28 02:05:07 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Any Meta Def</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaType <em>Meta Type</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getIdType <em>Id Type</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaValues <em>Meta Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAnyMetaDef()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature' 1='EClass' 2='EPackage'"
+ * @generated
+ */
+public interface AnyMetaDef extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAnyMetaDef_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Meta Type</b></em>' attribute.
+ * The default value is <code>"string"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Meta Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Meta Type</em>' attribute.
+ * @see #setMetaType(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAnyMetaDef_MetaType()
+ * @model default="string"
+ * @generated
+ */
+ String getMetaType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaType <em>Meta Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Meta Type</em>' attribute.
+ * @see #getMetaType()
+ * @generated
+ */
+ void setMetaType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Id Type</b></em>' attribute.
+ * The default value is <code>"string"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id Type</em>' attribute.
+ * @see #setIdType(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAnyMetaDef_IdType()
+ * @model default="string" required="true"
+ * @generated
+ */
+ String getIdType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getIdType <em>Id Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id Type</em>' attribute.
+ * @see #getIdType()
+ * @generated
+ */
+ void setIdType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Meta Values</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Meta Values</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Meta Values</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getAnyMetaDef_MetaValues()
+ * @model containment="true"
+ * @generated
+ */
+ EList<MetaValue> getMetaValues();
+
+} // AnyMetaDef
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/BatchSize.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/BatchSize.java
new file mode 100644
index 000000000..e9446c4e5
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/BatchSize.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BatchSize.java,v 1.1 2009/03/15 15:08:01 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Batch Size</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize#getSize <em>Size</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getBatchSize()
+ * @model annotation="teneo/internal/Target 0='EClass' 1='EReference'"
+ * @generated
+ */
+public interface BatchSize extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Size</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Size</em>' attribute.
+ * @see #setSize(int)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getBatchSize_Size()
+ * @model required="true"
+ * @generated
+ */
+ int getSize();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize#getSize <em>Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Size</em>' attribute.
+ * @see #getSize()
+ * @generated
+ */
+ void setSize(int value);
+
+} // BatchSize
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cache.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cache.java
new file mode 100755
index 000000000..c8049bed7
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cache.java
@@ -0,0 +1,104 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Cache.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Cache</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getUsage <em>Usage</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getRegion <em>Region</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getInclude <em>Include</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCache()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EReference' 1='EClass'"
+ * @generated
+ */
+public interface Cache extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Usage</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Usage</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Usage</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy
+ * @see #setUsage(CacheConcurrencyStrategy)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCache_Usage()
+ * @model
+ * @generated
+ */
+ CacheConcurrencyStrategy getUsage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getUsage <em>Usage</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Usage</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy
+ * @see #getUsage()
+ * @generated
+ */
+ void setUsage(CacheConcurrencyStrategy value);
+
+ /**
+ * Returns the value of the '<em><b>Region</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Region</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Region</em>' attribute.
+ * @see #setRegion(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCache_Region()
+ * @model
+ * @generated
+ */
+ String getRegion();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getRegion <em>Region</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Region</em>' attribute.
+ * @see #getRegion()
+ * @generated
+ */
+ void setRegion(String value);
+
+ /**
+ * Returns the value of the '<em><b>Include</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Include</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Include</em>' attribute.
+ * @see #setInclude(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCache_Include()
+ * @model
+ * @generated
+ */
+ String getInclude();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getInclude <em>Include</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Include</em>' attribute.
+ * @see #getInclude()
+ * @generated
+ */
+ void setInclude(String value);
+
+} // Cache
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CacheConcurrencyStrategy.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CacheConcurrencyStrategy.java
new file mode 100755
index 000000000..17919b12f
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CacheConcurrencyStrategy.java
@@ -0,0 +1,274 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: CacheConcurrencyStrategy.java,v 1.7 2010/02/04 11:03:37 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc --> A representation of the literals of the enumeration '<em><b>Cache Concurrency Strategy</b></em>',
+ * and utility methods for working with them. <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCacheConcurrencyStrategy()
+ * @model
+ * @generated
+ */
+public enum CacheConcurrencyStrategy implements Enumerator {
+ /**
+ * The '<em><b>NONE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(0, "NONE", "NONE"), /**
+ * The '<em><b>READ ONLY</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #READ_ONLY_VALUE
+ * @generated
+ * @ordered
+ */
+ READ_ONLY(1, "READ_ONLY", "READ_ONLY"), /**
+ * The '<em><b>NONSTRICT READ WRITE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONSTRICT_READ_WRITE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONSTRICT_READ_WRITE(2, "NONSTRICT_READ_WRITE", "NONSTRICT_READ_WRITE"), /**
+ * The '<em><b>READ WRITE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #READ_WRITE_VALUE
+ * @generated
+ * @ordered
+ */
+ READ_WRITE(3, "READ_WRITE", "READ_WRITE"), /**
+ * The '<em><b>TRANSACTIONAL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TRANSACTIONAL_VALUE
+ * @generated
+ * @ordered
+ */
+ TRANSACTIONAL(4, "TRANSACTIONAL", "TRANSACTIONAL");
+
+/**
+ * The '<em><b>NONE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NONE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NONE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NONE_VALUE = 0;
+/**
+ * The '<em><b>READ ONLY</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>READ ONLY</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #READ_ONLY
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int READ_ONLY_VALUE = 1;
+/**
+ * The '<em><b>NONSTRICT READ WRITE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NONSTRICT READ WRITE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NONSTRICT_READ_WRITE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NONSTRICT_READ_WRITE_VALUE = 2;
+/**
+ * The '<em><b>READ WRITE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>READ WRITE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #READ_WRITE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int READ_WRITE_VALUE = 3;
+/**
+ * The '<em><b>TRANSACTIONAL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>TRANSACTIONAL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #TRANSACTIONAL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int TRANSACTIONAL_VALUE = 4;
+/**
+ * An array of all the '<em><b>Cache Concurrency Strategy</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final CacheConcurrencyStrategy[] VALUES_ARRAY =
+ new CacheConcurrencyStrategy[] {
+ NONE,
+ READ_ONLY,
+ NONSTRICT_READ_WRITE,
+ READ_WRITE,
+ TRANSACTIONAL,
+ };
+/**
+ * A public read-only list of all the '<em><b>Cache Concurrency Strategy</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<CacheConcurrencyStrategy> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+/**
+ * Returns the '<em><b>Cache Concurrency Strategy</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CacheConcurrencyStrategy get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ CacheConcurrencyStrategy result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+/**
+ * Returns the '<em><b>Cache Concurrency Strategy</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CacheConcurrencyStrategy getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ CacheConcurrencyStrategy result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+/**
+ * Returns the '<em><b>Cache Concurrency Strategy</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CacheConcurrencyStrategy get(int value) {
+ switch (value) {
+ case NONE_VALUE: return NONE;
+ case READ_ONLY_VALUE: return READ_ONLY;
+ case NONSTRICT_READ_WRITE_VALUE: return NONSTRICT_READ_WRITE;
+ case READ_WRITE_VALUE: return READ_WRITE;
+ case TRANSACTIONAL_VALUE: return TRANSACTIONAL;
+ }
+ return null;
+ }
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+/**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private CacheConcurrencyStrategy(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+/**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cascade.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cascade.java
new file mode 100755
index 000000000..bc76acc02
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Cascade.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Cascade.java,v 1.8 2009/03/07 21:15:20 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Cascade</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cascade#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCascade()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface Cascade extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute list. The list contents are of
+ * type {@link org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType}. The literals are
+ * from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute list isn't clear, there really should be
+ * more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Value</em>' attribute list.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCascade_Value()
+ * @model
+ * @generated
+ */
+ EList<HbCascadeType> getValue();
+
+} // Cascade
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CollectionOfElements.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CollectionOfElements.java
new file mode 100755
index 000000000..a1cfb0676
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/CollectionOfElements.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: CollectionOfElements.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Collection Of Elements</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getTargetElement <em>Target Element</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getFetch <em>Fetch</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCollectionOfElements()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface CollectionOfElements extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Target Element</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Element</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Element</em>' attribute.
+ * @see #setTargetElement(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getCollectionOfElements_TargetElement()
+ * @model
+ * @generated
+ */
+ String getTargetElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getTargetElement <em>Target Element</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Element</em>' attribute.
+ * @see #getTargetElement()
+ * @generated
+ */
+ void setTargetElement(String value);
+
+ /**
+ * Returns the value of the '<em><b>Fetch</b></em>' attribute. The default value is <code>"LAZY"</code>. The
+ * literals are from the enumeration {@link org.eclipse.emf.teneo.annotations.pannotation.FetchType}. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fetch</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #setFetch(FetchType)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotationPackage#getCollectionOfElements_Fetch()
+ * @model default="LAZY"
+ * @generated
+ */
+ FetchType getFetch();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getFetch <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fetch</em>' attribute.
+ * @see org.eclipse.emf.teneo.annotations.pannotation.FetchType
+ * @see #getFetch()
+ * @generated
+ */
+ void setFetch(FetchType value);
+
+} // CollectionOfElements
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Columns.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Columns.java
new file mode 100755
index 000000000..851bf611b
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Columns.java
@@ -0,0 +1,25 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Columns.java,v 1.4 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Columns</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Columns#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotationPackage#getColumns()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface Columns extends HbAnnotation {
+} // Columns
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/DiscriminatorFormula.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/DiscriminatorFormula.java
new file mode 100755
index 000000000..a92910688
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/DiscriminatorFormula.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DiscriminatorFormula.java,v 1.1 2008/06/10 08:24:59 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Discriminator Formula</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getDiscriminatorFormula()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface DiscriminatorFormula extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getDiscriminatorFormula_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // DiscriminatorFormula
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Fetch.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Fetch.java
new file mode 100755
index 000000000..7cd02aba7
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Fetch.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Fetch.java,v 1.4 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fetch</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Fetch#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFetch()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface Fetch extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType
+ * @see #setValue(HbFetchType)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFetch_Value()
+ * @model
+ * @generated
+ */
+ HbFetchType getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Fetch#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(HbFetchType value);
+
+} // Fetch \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filter.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filter.java
new file mode 100755
index 000000000..2dcb141e7
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filter.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Filter.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Filter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getCondition <em>Condition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilter()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EClass' 1='EReference'"
+ * @generated
+ */
+public interface Filter extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilter_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Condition</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Condition</em>' attribute.
+ * @see #setCondition(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilter_Condition()
+ * @model
+ * @generated
+ */
+ String getCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getCondition <em>Condition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Condition</em>' attribute.
+ * @see #getCondition()
+ * @generated
+ */
+ void setCondition(String value);
+
+} // Filter
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDef.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDef.java
new file mode 100755
index 000000000..4b290ae1f
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDef.java
@@ -0,0 +1,98 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: FilterDef.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Filter Def</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getDefaultCondition <em>Default Condition</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getParameters <em>Parameters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDef()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EClass' 1='EReference'"
+ * @generated
+ */
+public interface FilterDef extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDef_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Default Condition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Condition</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default Condition</em>' attribute.
+ * @see #setDefaultCondition(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDef_DefaultCondition()
+ * @model
+ * @generated
+ */
+ String getDefaultCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getDefaultCondition <em>Default Condition</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default Condition</em>' attribute.
+ * @see #getDefaultCondition()
+ * @generated
+ */
+ void setDefaultCondition(String value);
+
+ /**
+ * Returns the value of the '<em><b>Parameters</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameters</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parameters</em>' reference list.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDef_Parameters()
+ * @model
+ * @generated
+ */
+ EList<ParamDef> getParameters();
+
+} // FilterDef
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDefs.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDefs.java
new file mode 100755
index 000000000..bcce44229
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/FilterDefs.java
@@ -0,0 +1,44 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: FilterDefs.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Filter Defs</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDefs#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDefs()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EClass' 1='EReference'"
+ * @generated
+ */
+public interface FilterDefs extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' reference list.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilterDefs_Value()
+ * @model required="true"
+ * @generated
+ */
+ EList<ParamDef> getValue();
+
+} // FilterDefs
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filters.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filters.java
new file mode 100755
index 000000000..7d430b158
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Filters.java
@@ -0,0 +1,44 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Filters.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Filters</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filters#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilters()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EClass' 1='EReference'"
+ * @generated
+ */
+public interface Filters extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' reference list.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFilters_Value()
+ * @model required="true"
+ * @generated
+ */
+ EList<Filter> getValue();
+
+} // Filters
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ForceDiscriminator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ForceDiscriminator.java
new file mode 100755
index 000000000..0bc75bce6
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ForceDiscriminator.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ForceDiscriminator.java,v 1.1 2008/07/12 13:10:34 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Force Discriminator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getForceDiscriminator()
+ * @model annotation="teneo/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface ForceDiscriminator extends HbAnnotation {
+} // ForceDiscriminator
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Formula.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Formula.java
new file mode 100755
index 000000000..d05761a91
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Formula.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Formula.java,v 1.1 2008/07/12 13:10:33 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Formula</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Formula#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFormula()
+ * @model annotation="teneo/internal/Target 0='EAttribute'"
+ * @generated
+ */
+public interface Formula extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getFormula_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Formula#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // Formula
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Generated.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Generated.java
new file mode 100755
index 000000000..1d6da8175
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Generated.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Generated.java,v 1.1 2007/07/11 17:35:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Generated</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Generated#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenerated()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EAttribute'"
+ * @generated
+ */
+public interface Generated extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime
+ * @see #setValue(GenerationTime)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenerated_Value()
+ * @model
+ * @generated
+ */
+ GenerationTime getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Generated#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(GenerationTime value);
+
+} // Generated
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenerationTime.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenerationTime.java
new file mode 100755
index 000000000..570e45fc3
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenerationTime.java
@@ -0,0 +1,239 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GenerationTime.java,v 1.1 2007/07/11 17:35:11 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Generation Time</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenerationTime()
+ * @model
+ * @generated
+ */
+public enum GenerationTime implements Enumerator {
+ /**
+ * The '<em><b>NEVER</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NEVER_VALUE
+ * @generated
+ * @ordered
+ */
+ NEVER(0, "NEVER", "NEVER"),
+
+ /**
+ * The '<em><b>INSERT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INSERT_VALUE
+ * @generated
+ * @ordered
+ */
+ INSERT(1, "INSERT", "INSERT"),
+
+ /**
+ * The '<em><b>ALWAYS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ALWAYS_VALUE
+ * @generated
+ * @ordered
+ */
+ ALWAYS(2, "ALWAYS", "ALWAYS");
+
+ /**
+ * The '<em><b>NEVER</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NEVER</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NEVER
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NEVER_VALUE = 0;
+
+ /**
+ * The '<em><b>INSERT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>INSERT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #INSERT
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int INSERT_VALUE = 1;
+
+ /**
+ * The '<em><b>ALWAYS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ALWAYS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ALWAYS
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ALWAYS_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Generation Time</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final GenerationTime[] VALUES_ARRAY =
+ new GenerationTime[] {
+ NEVER,
+ INSERT,
+ ALWAYS,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Generation Time</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<GenerationTime> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Generation Time</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GenerationTime get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ GenerationTime result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Generation Time</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GenerationTime getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ GenerationTime result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Generation Time</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GenerationTime get(int value) {
+ switch (value) {
+ case NEVER_VALUE: return NEVER;
+ case INSERT_VALUE: return INSERT;
+ case ALWAYS_VALUE: return ALWAYS;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private GenerationTime(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //GenerationTime
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenericGenerator.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenericGenerator.java
new file mode 100755
index 000000000..be013faf0
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/GenericGenerator.java
@@ -0,0 +1,96 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: GenericGenerator.java,v 1.6 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Generic Generator</b></em>'. <!--
+ * end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getStrategy <em>Strategy</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getParameters <em>Parameters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenericGenerator()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature' 1='EClass' 2='EPackage'"
+ * annotation="http://annotation.elver.org/internal/Collection name='GenericGenerators' packageNS='http://www.eclipse.org/emf/teneo/2006/HbAnnotation'"
+ * @generated
+ */
+public interface GenericGenerator extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenericGenerator_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Strategy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Strategy</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Strategy</em>' attribute.
+ * @see #setStrategy(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenericGenerator_Strategy()
+ * @model required="true"
+ * @generated
+ */
+ String getStrategy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getStrategy <em>Strategy</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Strategy</em>' attribute.
+ * @see #getStrategy()
+ * @generated
+ */
+ void setStrategy(String value);
+
+ /**
+ * Returns the value of the '<em><b>Parameters</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameters</em>' reference list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parameters</em>' reference list.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getGenericGenerator_Parameters()
+ * @model
+ * @generated
+ */
+ EList<Parameter> getParameters();
+
+} // GenericGenerator
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbAnnotation.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbAnnotation.java
new file mode 100755
index 000000000..99ded43c4
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbAnnotation.java
@@ -0,0 +1,23 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: HbAnnotation.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.teneo.annotations.pannotation.PAnnotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Hb Annotation</b></em>'. <!-- end-user-doc
+ * -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotationPackage#getHbAnnotation()
+ * @model interface="true" abstract="true" annotation="http://www.eclipse.org/emf/2002/Ecore
+ * constraints='CompatibleEModelElementType AnnotationIsSupported'"
+ * @generated
+ */
+public interface HbAnnotation extends PAnnotation {
+
+} // HbAnnotation
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbCascadeType.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbCascadeType.java
new file mode 100755
index 000000000..526b10ee9
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbCascadeType.java
@@ -0,0 +1,455 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: HbCascadeType.java,v 1.1 2008/09/01 12:45:17 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Hb Cascade Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbCascadeType()
+ * @model
+ * @generated
+ */
+public enum HbCascadeType implements Enumerator {
+ /**
+ * The '<em><b>ALL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ALL_VALUE
+ * @generated
+ * @ordered
+ */
+ ALL(0, "ALL", "ALL"),
+
+ /**
+ * The '<em><b>PERSIST</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PERSIST_VALUE
+ * @generated
+ * @ordered
+ */
+ PERSIST(1, "PERSIST", "PERSIST"),
+
+ /**
+ * The '<em><b>MERGE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MERGE_VALUE
+ * @generated
+ * @ordered
+ */
+ MERGE(2, "MERGE", "MERGE"),
+
+ /**
+ * The '<em><b>REMOVE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #REMOVE_VALUE
+ * @generated
+ * @ordered
+ */
+ REMOVE(3, "REMOVE", "REMOVE"),
+
+ /**
+ * The '<em><b>REFRESH</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #REFRESH_VALUE
+ * @generated
+ * @ordered
+ */
+ REFRESH(4, "REFRESH", "REFRESH"),
+
+ /**
+ * The '<em><b>DELETE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DELETE_VALUE
+ * @generated
+ * @ordered
+ */
+ DELETE(5, "DELETE", "DELETE"),
+
+ /**
+ * The '<em><b>SAVE UPDATE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SAVE_UPDATE_VALUE
+ * @generated
+ * @ordered
+ */
+ SAVE_UPDATE(6, "SAVE_UPDATE", "SAVE_UPDATE"),
+
+ /**
+ * The '<em><b>REPLICATE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #REPLICATE_VALUE
+ * @generated
+ * @ordered
+ */
+ REPLICATE(7, "REPLICATE", "REPLICATE"),
+
+ /**
+ * The '<em><b>DELETE ORPHAN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DELETE_ORPHAN_VALUE
+ * @generated
+ * @ordered
+ */
+ DELETE_ORPHAN(8, "DELETE_ORPHAN", "DELETE_ORPHAN"),
+
+ /**
+ * The '<em><b>LOCK</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #LOCK_VALUE
+ * @generated
+ * @ordered
+ */
+ LOCK(9, "LOCK", "LOCK"),
+
+ /**
+ * The '<em><b>EVICT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EVICT_VALUE
+ * @generated
+ * @ordered
+ */
+ EVICT(10, "EVICT", "EVICT");
+
+ /**
+ * The '<em><b>ALL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ALL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ALL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ALL_VALUE = 0;
+
+ /**
+ * The '<em><b>PERSIST</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PERSIST</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PERSIST
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PERSIST_VALUE = 1;
+
+ /**
+ * The '<em><b>MERGE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>MERGE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MERGE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int MERGE_VALUE = 2;
+
+ /**
+ * The '<em><b>REMOVE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>REMOVE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #REMOVE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int REMOVE_VALUE = 3;
+
+ /**
+ * The '<em><b>REFRESH</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>REFRESH</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #REFRESH
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int REFRESH_VALUE = 4;
+
+ /**
+ * The '<em><b>DELETE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>DELETE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DELETE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int DELETE_VALUE = 5;
+
+ /**
+ * The '<em><b>SAVE UPDATE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SAVE UPDATE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SAVE_UPDATE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SAVE_UPDATE_VALUE = 6;
+
+ /**
+ * The '<em><b>REPLICATE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>REPLICATE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #REPLICATE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int REPLICATE_VALUE = 7;
+
+ /**
+ * The '<em><b>DELETE ORPHAN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>DELETE ORPHAN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DELETE_ORPHAN
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int DELETE_ORPHAN_VALUE = 8;
+
+ /**
+ * The '<em><b>LOCK</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>LOCK</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #LOCK
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int LOCK_VALUE = 9;
+
+ /**
+ * The '<em><b>EVICT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EVICT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EVICT
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int EVICT_VALUE = 10;
+
+ /**
+ * An array of all the '<em><b>Hb Cascade Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final HbCascadeType[] VALUES_ARRAY =
+ new HbCascadeType[] {
+ ALL,
+ PERSIST,
+ MERGE,
+ REMOVE,
+ REFRESH,
+ DELETE,
+ SAVE_UPDATE,
+ REPLICATE,
+ DELETE_ORPHAN,
+ LOCK,
+ EVICT,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Hb Cascade Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<HbCascadeType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Hb Cascade Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HbCascadeType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ HbCascadeType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Hb Cascade Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HbCascadeType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ HbCascadeType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Hb Cascade Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HbCascadeType get(int value) {
+ switch (value) {
+ case ALL_VALUE: return ALL;
+ case PERSIST_VALUE: return PERSIST;
+ case MERGE_VALUE: return MERGE;
+ case REMOVE_VALUE: return REMOVE;
+ case REFRESH_VALUE: return REFRESH;
+ case DELETE_VALUE: return DELETE;
+ case SAVE_UPDATE_VALUE: return SAVE_UPDATE;
+ case REPLICATE_VALUE: return REPLICATE;
+ case DELETE_ORPHAN_VALUE: return DELETE_ORPHAN;
+ case LOCK_VALUE: return LOCK;
+ case EVICT_VALUE: return EVICT;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private HbCascadeType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //HbCascadeType
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbEntity.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbEntity.java
new file mode 100755
index 000000000..37425a438
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbEntity.java
@@ -0,0 +1,224 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: HbEntity.java,v 1.1 2008/08/26 21:19:08 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hb Entity</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicInsert <em>Dynamic Insert</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicUpdate <em>Dynamic Update</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isSelectBeforeUpdate <em>Select Before Update</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isMutable <em>Mutable</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPersister <em>Persister</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getOptimisticLock <em>Optimistic Lock</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPolymorphism <em>Polymorphism</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface HbEntity extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Dynamic Insert</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Dynamic 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>Dynamic Insert</em>' attribute.
+ * @see #setDynamicInsert(boolean)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_DynamicInsert()
+ * @model
+ * @generated
+ */
+ boolean isDynamicInsert();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicInsert <em>Dynamic Insert</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Dynamic Insert</em>' attribute.
+ * @see #isDynamicInsert()
+ * @generated
+ */
+ void setDynamicInsert(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Dynamic Update</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Dynamic 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>Dynamic Update</em>' attribute.
+ * @see #setDynamicUpdate(boolean)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_DynamicUpdate()
+ * @model
+ * @generated
+ */
+ boolean isDynamicUpdate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicUpdate <em>Dynamic Update</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Dynamic Update</em>' attribute.
+ * @see #isDynamicUpdate()
+ * @generated
+ */
+ void setDynamicUpdate(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Select Before Update</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Select Before 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>Select Before Update</em>' attribute.
+ * @see #setSelectBeforeUpdate(boolean)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_SelectBeforeUpdate()
+ * @model
+ * @generated
+ */
+ boolean isSelectBeforeUpdate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isSelectBeforeUpdate <em>Select Before Update</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Select Before Update</em>' attribute.
+ * @see #isSelectBeforeUpdate()
+ * @generated
+ */
+ void setSelectBeforeUpdate(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Mutable</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mutable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mutable</em>' attribute.
+ * @see #setMutable(boolean)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_Mutable()
+ * @model default="true"
+ * @generated
+ */
+ boolean isMutable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isMutable <em>Mutable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mutable</em>' attribute.
+ * @see #isMutable()
+ * @generated
+ */
+ void setMutable(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Persister</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Persister</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Persister</em>' attribute.
+ * @see #setPersister(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_Persister()
+ * @model
+ * @generated
+ */
+ String getPersister();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPersister <em>Persister</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Persister</em>' attribute.
+ * @see #getPersister()
+ * @generated
+ */
+ void setPersister(String value);
+
+ /**
+ * Returns the value of the '<em><b>Optimistic Lock</b></em>' attribute.
+ * The default value is <code>"VERSION"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Optimistic Lock</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Optimistic Lock</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType
+ * @see #setOptimisticLock(OptimisticLockType)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_OptimisticLock()
+ * @model default="VERSION"
+ * @generated
+ */
+ OptimisticLockType getOptimisticLock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getOptimisticLock <em>Optimistic Lock</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Optimistic Lock</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType
+ * @see #getOptimisticLock()
+ * @generated
+ */
+ void setOptimisticLock(OptimisticLockType value);
+
+ /**
+ * Returns the value of the '<em><b>Polymorphism</b></em>' attribute.
+ * The default value is <code>"IMPLICIT"</code>.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Polymorphism</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Polymorphism</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType
+ * @see #setPolymorphism(PolymorphismType)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbEntity_Polymorphism()
+ * @model default="IMPLICIT"
+ * @generated
+ */
+ PolymorphismType getPolymorphism();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPolymorphism <em>Polymorphism</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Polymorphism</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType
+ * @see #getPolymorphism()
+ * @generated
+ */
+ void setPolymorphism(PolymorphismType value);
+
+} // HbEntity
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbFetchType.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbFetchType.java
new file mode 100755
index 000000000..391511523
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbFetchType.java
@@ -0,0 +1,229 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: HbFetchType.java,v 1.5 2010/02/04 11:03:36 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Hb Fetch Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbFetchType()
+ * @model
+ * @generated
+ */
+public enum HbFetchType implements Enumerator {
+ /**
+ * The '<em><b>JOIN</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #JOIN_VALUE
+ * @generated
+ * @ordered
+ */
+ JOIN(0, "JOIN", "JOIN"), /**
+ * The '<em><b>SELECT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SELECT_VALUE
+ * @generated
+ * @ordered
+ */
+ SELECT(1, "SELECT", "SELECT"), /**
+ * The '<em><b>SUBSELECT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SUBSELECT_VALUE
+ * @generated
+ * @ordered
+ */
+ SUBSELECT(2, "SUBSELECT", "SUBSELECT")
+ ;
+
+/**
+ * The '<em><b>JOIN</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>JOIN</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #JOIN
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int JOIN_VALUE = 0;
+/**
+ * The '<em><b>SELECT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SELECT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SELECT
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SELECT_VALUE = 1;
+/**
+ * The '<em><b>SUBSELECT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SUBSELECT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SUBSELECT
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SUBSELECT_VALUE = 2;
+/**
+ * An array of all the '<em><b>Hb Fetch Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final HbFetchType[] VALUES_ARRAY =
+ new HbFetchType[] {
+ JOIN,
+ SELECT,
+ SUBSELECT,
+ };
+/**
+ * A public read-only list of all the '<em><b>Hb Fetch Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<HbFetchType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+/**
+ * Returns the '<em><b>Hb Fetch Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HbFetchType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ HbFetchType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+/**
+ * Returns the '<em><b>Hb Fetch Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HbFetchType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ HbFetchType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+/**
+ * Returns the '<em><b>Hb Fetch Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HbFetchType get(int value) {
+ switch (value) {
+ case JOIN_VALUE: return JOIN;
+ case SELECT_VALUE: return SELECT;
+ case SUBSELECT_VALUE: return SUBSELECT;
+ }
+ return null;
+ }
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+/**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private HbFetchType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+/**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+}
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbMapKey.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbMapKey.java
new file mode 100755
index 000000000..a7a278b0c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbMapKey.java
@@ -0,0 +1,45 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: HbMapKey.java,v 1.2 2010/02/04 11:03:38 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hb Map Key</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey#getColumns <em>Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbMapKey()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface HbMapKey extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.Column}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Columns</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Columns</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getHbMapKey_Columns()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Column> getColumns();
+
+} // HbMapKey
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationFactory.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationFactory.java
new file mode 100755
index 000000000..0b852db48
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationFactory.java
@@ -0,0 +1,312 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: HbannotationFactory.java,v 1.13 2009/06/27 09:19:10 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a create method for each
+ * non-abstract class of the model. <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage
+ * @generated
+ */
+public interface HbannotationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ HbannotationFactory eINSTANCE = org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Cascade</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Cascade</em>'.
+ * @generated
+ */
+ Cascade createCascade();
+
+ /**
+ * Returns a new object of class '<em>Collection Of Elements</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Collection Of Elements</em>'.
+ * @generated
+ */
+ CollectionOfElements createCollectionOfElements();
+
+ /**
+ * Returns a new object of class '<em>Hb Map Key</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hb Map Key</em>'.
+ * @generated
+ */
+ HbMapKey createHbMapKey();
+
+ /**
+ * Returns a new object of class '<em>Parameter</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Parameter</em>'.
+ * @generated
+ */
+ Parameter createParameter();
+
+ /**
+ * Returns a new object of class '<em>Type</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Type</em>'.
+ * @generated
+ */
+ Type createType();
+
+ /**
+ * Returns a new object of class '<em>Where</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Where</em>'.
+ * @generated
+ */
+ Where createWhere();
+
+ /**
+ * Returns a new object of class '<em>Id Bag</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Id Bag</em>'.
+ * @generated
+ */
+ IdBag createIdBag();
+
+ /**
+ * Returns a new object of class '<em>Generic Generator</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Generic Generator</em>'.
+ * @generated
+ */
+ GenericGenerator createGenericGenerator();
+
+ /**
+ * Returns a new object of class '<em>Cache</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Cache</em>'.
+ * @generated
+ */
+ Cache createCache();
+
+ /**
+ * Returns a new object of class '<em>Type Def</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>Type Def</em>'.
+ * @generated
+ */
+ TypeDef createTypeDef();
+
+ /**
+ * Returns a new object of class '<em>Fetch</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Fetch</em>'.
+ * @generated
+ */
+ Fetch createFetch();
+
+ /**
+ * Returns a new object of class '<em>On Delete</em>'.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return a new object of class '<em>On Delete</em>'.
+ * @generated
+ */
+ OnDelete createOnDelete();
+
+ /**
+ * Returns a new object of class '<em>Proxy</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Proxy</em>'.
+ * @generated
+ */
+ Proxy createProxy();
+
+ /**
+ * Returns a new object of class '<em>Index</em>'. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @return a new object of class '<em>Index</em>'.
+ * @generated
+ */
+ Index createIndex();
+
+ /**
+ * Returns a new object of class '<em>Generated</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Generated</em>'.
+ * @generated
+ */
+ Generated createGenerated();
+
+ /**
+ * Returns a new object of class '<em>Named Query</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Named Query</em>'.
+ * @generated
+ */
+ NamedQuery createNamedQuery();
+
+ /**
+ * Returns a new object of class '<em>Filter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Filter</em>'.
+ * @generated
+ */
+ Filter createFilter();
+
+ /**
+ * Returns a new object of class '<em>Param Def</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Param Def</em>'.
+ * @generated
+ */
+ ParamDef createParamDef();
+
+ /**
+ * Returns a new object of class '<em>Filter Def</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Filter Def</em>'.
+ * @generated
+ */
+ FilterDef createFilterDef();
+
+ /**
+ * Returns a new object of class '<em>Discriminator Formula</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Discriminator Formula</em>'.
+ * @generated
+ */
+ DiscriminatorFormula createDiscriminatorFormula();
+
+ /**
+ * Returns a new object of class '<em>Natural Id</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Natural Id</em>'.
+ * @generated
+ */
+ NaturalId createNaturalId();
+
+ /**
+ * Returns a new object of class '<em>Map Key Many To Many</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Map Key Many To Many</em>'.
+ * @generated
+ */
+ MapKeyManyToMany createMapKeyManyToMany();
+
+ /**
+ * Returns a new object of class '<em>Force Discriminator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Force Discriminator</em>'.
+ * @generated
+ */
+ ForceDiscriminator createForceDiscriminator();
+
+ /**
+ * Returns a new object of class '<em>Immutable</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Immutable</em>'.
+ * @generated
+ */
+ Immutable createImmutable();
+
+ /**
+ * Returns a new object of class '<em>Formula</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Formula</em>'.
+ * @generated
+ */
+ Formula createFormula();
+
+ /**
+ * Returns a new object of class '<em>Not Found</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Not Found</em>'.
+ * @generated
+ */
+ NotFound createNotFound();
+
+ /**
+ * Returns a new object of class '<em>Hb Entity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hb Entity</em>'.
+ * @generated
+ */
+ HbEntity createHbEntity();
+
+ /**
+ * Returns a new object of class '<em>Batch Size</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Batch Size</em>'.
+ * @generated
+ */
+ BatchSize createBatchSize();
+
+ /**
+ * Returns a new object of class '<em>Any</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Any</em>'.
+ * @generated
+ */
+ Any createAny();
+
+ /**
+ * Returns a new object of class '<em>Meta Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Meta Value</em>'.
+ * @generated
+ */
+ MetaValue createMetaValue();
+
+ /**
+ * Returns a new object of class '<em>Any Meta Def</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Any Meta Def</em>'.
+ * @generated
+ */
+ AnyMetaDef createAnyMetaDef();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ HbannotationPackage getHbannotationPackage();
+
+} // HbannotationFactory
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationPackage.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationPackage.java
new file mode 100755
index 000000000..55263399b
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/HbannotationPackage.java
@@ -0,0 +1,3458 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: HbannotationPackage.java,v 1.16 2010/02/04 11:03:37 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.teneo.annotations.pannotation.PannotationPackage;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains accessors for the meta
+ * objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationFactory
+ * @model kind="package"
+ * annotation="teneo.mapping.source 1='http://hibernate.elver.org/'"
+ * @generated
+ */
+public interface HbannotationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "hbannotation";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/teneo/2006/HbAnnotation";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "org.eclipse.emf.teneo.hibernate";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ HbannotationPackage eINSTANCE = org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbAnnotationImpl <em>Hb Annotation</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbAnnotationImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbAnnotation()
+ * @generated
+ */
+ int HB_ANNOTATION = 0;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_ANNOTATION__EMODEL_ELEMENT = PannotationPackage.PANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Hb Annotation</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int HB_ANNOTATION_FEATURE_COUNT = PannotationPackage.PANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CascadeImpl <em>Cascade</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CascadeImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCascade()
+ * @generated
+ */
+ int CASCADE = 1;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CASCADE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CASCADE__VALUE = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Cascade</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CASCADE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl <em>Collection Of Elements</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCollectionOfElements()
+ * @generated
+ */
+ int COLLECTION_OF_ELEMENTS = 2;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_OF_ELEMENTS__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Target Element</b></em>' attribute.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_OF_ELEMENTS__TARGET_ELEMENT = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_OF_ELEMENTS__FETCH = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Collection Of Elements</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_OF_ELEMENTS_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbMapKeyImpl <em>Hb Map Key</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbMapKeyImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbMapKey()
+ * @generated
+ */
+ int HB_MAP_KEY = 3;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_MAP_KEY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_MAP_KEY__COLUMNS = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Hb Map Key</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_MAP_KEY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParameterImpl <em>Parameter</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParameterImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getParameter()
+ * @generated
+ */
+ int PARAMETER = 4;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER__NAME = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER__VALUE = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Parameter</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAMETER_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeImpl <em>Type</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getType()
+ * @generated
+ */
+ int TYPE = 5;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE__TYPE = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Parameters</b></em>' reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE__PARAMETERS = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.WhereImpl <em>Where</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.WhereImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getWhere()
+ * @generated
+ */
+ int WHERE = 6;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHERE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Clause</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHERE__CLAUSE = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Where</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int WHERE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IdBagImpl <em>Id Bag</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.IdBagImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getIdBag()
+ * @generated
+ */
+ int ID_BAG = 7;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ID_BAG__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Generator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ID_BAG__GENERATOR = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ID_BAG__TYPE = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ID_BAG__TABLE = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Id Bag</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ID_BAG_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GenericGeneratorImpl <em>Generic Generator</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.GenericGeneratorImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenericGenerator()
+ * @generated
+ */
+ int GENERIC_GENERATOR = 8;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_GENERATOR__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_GENERATOR__NAME = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Strategy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_GENERATOR__STRATEGY = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Parameters</b></em>' reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERIC_GENERATOR__PARAMETERS = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Generic Generator</em>' class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int GENERIC_GENERATOR_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl <em>Cache</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCache()
+ * @generated
+ */
+ int CACHE = 9;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CACHE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Usage</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CACHE__USAGE = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Region</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CACHE__REGION = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Include</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CACHE__INCLUDE = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Cache</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CACHE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeDefImpl <em>Type Def</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeDefImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getTypeDef()
+ * @generated
+ */
+ int TYPE_DEF = 10;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_DEF__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_DEF__NAME = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Parameters</b></em>' reference list.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_DEF__PARAMETERS = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Type Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_DEF__TYPE_CLASS = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Type Def</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TYPE_DEF_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FetchImpl <em>Fetch</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FetchImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFetch()
+ * @generated
+ */
+ int FETCH = 11;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FETCH__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FETCH__VALUE = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Fetch</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FETCH_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.OnDeleteImpl <em>On Delete</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.OnDeleteImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOnDelete()
+ * @generated
+ */
+ int ON_DELETE = 12;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ON_DELETE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Action</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ON_DELETE__ACTION = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>On Delete</em>' class.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ON_DELETE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ProxyImpl <em>Proxy</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ProxyImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getProxy()
+ * @generated
+ */
+ int PROXY = 13;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROXY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Proxy Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROXY__PROXY_CLASS = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Lazy</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROXY__LAZY = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Proxy</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROXY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IndexImpl <em>Index</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.IndexImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getIndex()
+ * @generated
+ */
+ int INDEX = 14;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INDEX__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INDEX__NAME = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Index</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INDEX_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GeneratedImpl <em>Generated</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.GeneratedImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenerated()
+ * @generated
+ */
+ int GENERATED = 15;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERATED__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERATED__VALUE = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Generated</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GENERATED_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NamedQueryImpl <em>Named Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NamedQueryImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNamedQuery()
+ * @generated
+ */
+ int NAMED_QUERY = 16;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_QUERY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_QUERY__NAME = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Query</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_QUERY__QUERY = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Named Query</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_QUERY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterImpl <em>Filter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFilter()
+ * @generated
+ */
+ int FILTER = 17;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER__NAME = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Condition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER__CONDITION = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Filter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParamDefImpl <em>Param Def</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParamDefImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getParamDef()
+ * @generated
+ */
+ int PARAM_DEF = 18;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DEF__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DEF__NAME = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DEF__TYPE = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Param Def</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PARAM_DEF_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterDefImpl <em>Filter Def</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterDefImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFilterDef()
+ * @generated
+ */
+ int FILTER_DEF = 19;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER_DEF__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER_DEF__NAME = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Default Condition</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER_DEF__DEFAULT_CONDITION = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Parameters</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER_DEF__PARAMETERS = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Filter Def</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FILTER_DEF_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.DiscriminatorFormulaImpl <em>Discriminator Formula</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.DiscriminatorFormulaImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getDiscriminatorFormula()
+ * @generated
+ */
+ int DISCRIMINATOR_FORMULA = 20;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_FORMULA__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_FORMULA__VALUE = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Discriminator Formula</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRIMINATOR_FORMULA_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NaturalIdImpl <em>Natural Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NaturalIdImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNaturalId()
+ * @generated
+ */
+ int NATURAL_ID = 21;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NATURAL_ID__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Mutable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NATURAL_ID__MUTABLE = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Natural Id</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NATURAL_ID_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MapKeyManyToManyImpl <em>Map Key Many To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.MapKeyManyToManyImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getMapKeyManyToMany()
+ * @generated
+ */
+ int MAP_KEY_MANY_TO_MANY = 22;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAP_KEY_MANY_TO_MANY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Join Columns</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAP_KEY_MANY_TO_MANY__JOIN_COLUMNS = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAP_KEY_MANY_TO_MANY__TARGET_ENTITY = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Map Key Many To Many</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MAP_KEY_MANY_TO_MANY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ForceDiscriminatorImpl <em>Force Discriminator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ForceDiscriminatorImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getForceDiscriminator()
+ * @generated
+ */
+ int FORCE_DISCRIMINATOR = 23;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORCE_DISCRIMINATOR__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Force Discriminator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORCE_DISCRIMINATOR_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ImmutableImpl <em>Immutable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ImmutableImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getImmutable()
+ * @generated
+ */
+ int IMMUTABLE = 24;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMMUTABLE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Immutable</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMMUTABLE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FormulaImpl <em>Formula</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FormulaImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFormula()
+ * @generated
+ */
+ int FORMULA = 25;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMULA__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMULA__VALUE = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Formula</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FORMULA_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NotFoundImpl <em>Not Found</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NotFoundImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNotFound()
+ * @generated
+ */
+ int NOT_FOUND = 26;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOT_FOUND__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Action</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOT_FOUND__ACTION = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Not Found</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOT_FOUND_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl <em>Hb Entity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbEntity()
+ * @generated
+ */
+ int HB_ENTITY = 27;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_ENTITY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Dynamic Insert</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_ENTITY__DYNAMIC_INSERT = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Dynamic Update</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_ENTITY__DYNAMIC_UPDATE = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Select Before Update</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_ENTITY__SELECT_BEFORE_UPDATE = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Mutable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_ENTITY__MUTABLE = HB_ANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Persister</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_ENTITY__PERSISTER = HB_ANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Optimistic Lock</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_ENTITY__OPTIMISTIC_LOCK = HB_ANNOTATION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Polymorphism</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_ENTITY__POLYMORPHISM = HB_ANNOTATION_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Hb Entity</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HB_ENTITY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.BatchSizeImpl <em>Batch Size</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.BatchSizeImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getBatchSize()
+ * @generated
+ */
+ int BATCH_SIZE = 28;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BATCH_SIZE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BATCH_SIZE__SIZE = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Batch Size</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BATCH_SIZE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl <em>Any</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getAny()
+ * @generated
+ */
+ int ANY = 29;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Meta Def</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY__META_DEF = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Meta Column</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY__META_COLUMN = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Fetch</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY__FETCH = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Optional</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY__OPTIONAL = HB_ANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Any</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MetaValueImpl <em>Meta Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.MetaValueImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getMetaValue()
+ * @generated
+ */
+ int META_VALUE = 30;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int META_VALUE__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int META_VALUE__TARGET_ENTITY = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int META_VALUE__VALUE = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Meta Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int META_VALUE_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl <em>Any Meta Def</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getAnyMetaDef()
+ * @generated
+ */
+ int ANY_META_DEF = 31;
+
+ /**
+ * The feature id for the '<em><b>EModel Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_META_DEF__EMODEL_ELEMENT = HB_ANNOTATION__EMODEL_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_META_DEF__NAME = HB_ANNOTATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Meta Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_META_DEF__META_TYPE = HB_ANNOTATION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Id Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_META_DEF__ID_TYPE = HB_ANNOTATION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Meta Values</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_META_DEF__META_VALUES = HB_ANNOTATION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Any Meta Def</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANY_META_DEF_FEATURE_COUNT = HB_ANNOTATION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy <em>Cache Concurrency Strategy</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCacheConcurrencyStrategy()
+ * @generated
+ */
+ int CACHE_CONCURRENCY_STRATEGY = 32;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType <em>Hb Fetch Type</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbFetchType()
+ * @generated
+ */
+ int HB_FETCH_TYPE = 33;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction <em>On Delete Action</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOnDeleteAction()
+ * @generated
+ */
+ int ON_DELETE_ACTION = 34;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime <em>Generation Time</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenerationTime()
+ * @generated
+ */
+ int GENERATION_TIME = 35;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction <em>Not Found Action</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNotFoundAction()
+ * @generated
+ */
+ int NOT_FOUND_ACTION = 36;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType <em>Optimistic Lock Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOptimisticLockType()
+ * @generated
+ */
+ int OPTIMISTIC_LOCK_TYPE = 37;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType <em>Polymorphism Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getPolymorphismType()
+ * @generated
+ */
+ int POLYMORPHISM_TYPE = 38;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType <em>Hb Cascade Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbCascadeType()
+ * @generated
+ */
+ int HB_CASCADE_TYPE = 39;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotation <em>Hb Annotation</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hb Annotation</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotation
+ * @generated
+ */
+ EClass getHbAnnotation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cascade <em>Cascade</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Cascade</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cascade
+ * @generated
+ */
+ EClass getCascade();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cascade#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cascade#getValue()
+ * @see #getCascade()
+ * @generated
+ */
+ EAttribute getCascade_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements <em>Collection Of Elements</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Collection Of Elements</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements
+ * @generated
+ */
+ EClass getCollectionOfElements();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getTargetElement <em>Target Element</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Target Element</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getTargetElement()
+ * @see #getCollectionOfElements()
+ * @generated
+ */
+ EAttribute getCollectionOfElements_TargetElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getFetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fetch</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements#getFetch()
+ * @see #getCollectionOfElements()
+ * @generated
+ */
+ EAttribute getCollectionOfElements_Fetch();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey <em>Hb Map Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hb Map Key</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey
+ * @generated
+ */
+ EClass getHbMapKey();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey#getColumns <em>Columns</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Columns</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbMapKey#getColumns()
+ * @see #getHbMapKey()
+ * @generated
+ */
+ EReference getHbMapKey_Columns();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter <em>Parameter</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Parameter</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Parameter
+ * @generated
+ */
+ EClass getParameter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getName()
+ * @see #getParameter()
+ * @generated
+ */
+ EAttribute getParameter_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getValue()
+ * @see #getParameter()
+ * @generated
+ */
+ EAttribute getParameter_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type <em>Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Type</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Type
+ * @generated
+ */
+ EClass getType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type#getType <em>Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Type#getType()
+ * @see #getType()
+ * @generated
+ */
+ EAttribute getType_Type();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type#getParameters <em>Parameters</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Parameters</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Type#getParameters()
+ * @see #getType()
+ * @generated
+ */
+ EReference getType_Parameters();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Where <em>Where</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Where</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Where
+ * @generated
+ */
+ EClass getWhere();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Where#getClause <em>Clause</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Clause</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Where#getClause()
+ * @see #getWhere()
+ * @generated
+ */
+ EAttribute getWhere_Clause();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag <em>Id Bag</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Id Bag</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.IdBag
+ * @generated
+ */
+ EClass getIdBag();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getGenerator <em>Generator</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Generator</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getGenerator()
+ * @see #getIdBag()
+ * @generated
+ */
+ EAttribute getIdBag_Generator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getType <em>Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getType()
+ * @see #getIdBag()
+ * @generated
+ */
+ EAttribute getIdBag_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getTable <em>Table</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Table</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getTable()
+ * @see #getIdBag()
+ * @generated
+ */
+ EAttribute getIdBag_Table();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator <em>Generic Generator</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Generic Generator</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator
+ * @generated
+ */
+ EClass getGenericGenerator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getName()
+ * @see #getGenericGenerator()
+ * @generated
+ */
+ EAttribute getGenericGenerator_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getStrategy <em>Strategy</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Strategy</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getStrategy()
+ * @see #getGenericGenerator()
+ * @generated
+ */
+ EAttribute getGenericGenerator_Strategy();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getParameters <em>Parameters</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Parameters</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenericGenerator#getParameters()
+ * @see #getGenericGenerator()
+ * @generated
+ */
+ EReference getGenericGenerator_Parameters();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache <em>Cache</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Cache</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cache
+ * @generated
+ */
+ EClass getCache();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getUsage <em>Usage</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Usage</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getUsage()
+ * @see #getCache()
+ * @generated
+ */
+ EAttribute getCache_Usage();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getRegion <em>Region</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Region</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getRegion()
+ * @see #getCache()
+ * @generated
+ */
+ EAttribute getCache_Region();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getInclude <em>Include</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Include</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Cache#getInclude()
+ * @see #getCache()
+ * @generated
+ */
+ EAttribute getCache_Include();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef <em>Type Def</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Type Def</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef
+ * @generated
+ */
+ EClass getTypeDef();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getName()
+ * @see #getTypeDef()
+ * @generated
+ */
+ EAttribute getTypeDef_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getParameters <em>Parameters</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Parameters</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getParameters()
+ * @see #getTypeDef()
+ * @generated
+ */
+ EReference getTypeDef_Parameters();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getTypeClass <em>Type Class</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type Class</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getTypeClass()
+ * @see #getTypeDef()
+ * @generated
+ */
+ EAttribute getTypeDef_TypeClass();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Fetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Fetch</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Fetch
+ * @generated
+ */
+ EClass getFetch();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Fetch#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Fetch#getValue()
+ * @see #getFetch()
+ * @generated
+ */
+ EAttribute getFetch_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete <em>On Delete</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>On Delete</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete
+ * @generated
+ */
+ EClass getOnDelete();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete#getAction <em>Action</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Action</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete#getAction()
+ * @see #getOnDelete()
+ * @generated
+ */
+ EAttribute getOnDelete_Action();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy <em>Proxy</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Proxy</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Proxy
+ * @generated
+ */
+ EClass getProxy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#getProxyClass <em>Proxy Class</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Proxy Class</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#getProxyClass()
+ * @see #getProxy()
+ * @generated
+ */
+ EAttribute getProxy_ProxyClass();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#isLazy <em>Lazy</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Lazy</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#isLazy()
+ * @see #getProxy()
+ * @generated
+ */
+ EAttribute getProxy_Lazy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Index <em>Index</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for class '<em>Index</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Index
+ * @generated
+ */
+ EClass getIndex();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Index#getName <em>Name</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Index#getName()
+ * @see #getIndex()
+ * @generated
+ */
+ EAttribute getIndex_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Generated <em>Generated</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Generated</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Generated
+ * @generated
+ */
+ EClass getGenerated();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Generated#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Generated#getValue()
+ * @see #getGenerated()
+ * @generated
+ */
+ EAttribute getGenerated_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery <em>Named Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Named Query</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery
+ * @generated
+ */
+ EClass getNamedQuery();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getName()
+ * @see #getNamedQuery()
+ * @generated
+ */
+ EAttribute getNamedQuery_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getQuery <em>Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Query</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getQuery()
+ * @see #getNamedQuery()
+ * @generated
+ */
+ EAttribute getNamedQuery_Query();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter <em>Filter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Filter</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Filter
+ * @generated
+ */
+ EClass getFilter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getName()
+ * @see #getFilter()
+ * @generated
+ */
+ EAttribute getFilter_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getCondition <em>Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Condition</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Filter#getCondition()
+ * @see #getFilter()
+ * @generated
+ */
+ EAttribute getFilter_Condition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef <em>Param Def</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Param Def</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef
+ * @generated
+ */
+ EClass getParamDef();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getName()
+ * @see #getParamDef()
+ * @generated
+ */
+ EAttribute getParamDef_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getType()
+ * @see #getParamDef()
+ * @generated
+ */
+ EAttribute getParamDef_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef <em>Filter Def</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Filter Def</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef
+ * @generated
+ */
+ EClass getFilterDef();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getName()
+ * @see #getFilterDef()
+ * @generated
+ */
+ EAttribute getFilterDef_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getDefaultCondition <em>Default Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Default Condition</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getDefaultCondition()
+ * @see #getFilterDef()
+ * @generated
+ */
+ EAttribute getFilterDef_DefaultCondition();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getParameters <em>Parameters</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Parameters</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.FilterDef#getParameters()
+ * @see #getFilterDef()
+ * @generated
+ */
+ EReference getFilterDef_Parameters();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula <em>Discriminator Formula</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Discriminator Formula</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula
+ * @generated
+ */
+ EClass getDiscriminatorFormula();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula#getValue()
+ * @see #getDiscriminatorFormula()
+ * @generated
+ */
+ EAttribute getDiscriminatorFormula_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId <em>Natural Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Natural Id</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId
+ * @generated
+ */
+ EClass getNaturalId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId#isMutable <em>Mutable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Mutable</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId#isMutable()
+ * @see #getNaturalId()
+ * @generated
+ */
+ EAttribute getNaturalId_Mutable();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany <em>Map Key Many To Many</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Map Key Many To Many</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany
+ * @generated
+ */
+ EClass getMapKeyManyToMany();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getJoinColumns <em>Join Columns</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Join Columns</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getJoinColumns()
+ * @see #getMapKeyManyToMany()
+ * @generated
+ */
+ EReference getMapKeyManyToMany_JoinColumns();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getTargetEntity <em>Target Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Target Entity</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getTargetEntity()
+ * @see #getMapKeyManyToMany()
+ * @generated
+ */
+ EAttribute getMapKeyManyToMany_TargetEntity();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator <em>Force Discriminator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Force Discriminator</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.ForceDiscriminator
+ * @generated
+ */
+ EClass getForceDiscriminator();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Immutable <em>Immutable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Immutable</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Immutable
+ * @generated
+ */
+ EClass getImmutable();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Formula <em>Formula</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Formula</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Formula
+ * @generated
+ */
+ EClass getFormula();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Formula#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Formula#getValue()
+ * @see #getFormula()
+ * @generated
+ */
+ EAttribute getFormula_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFound <em>Not Found</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Not Found</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFound
+ * @generated
+ */
+ EClass getNotFound();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFound#getAction <em>Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Action</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFound#getAction()
+ * @see #getNotFound()
+ * @generated
+ */
+ EAttribute getNotFound_Action();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity <em>Hb Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hb Entity</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity
+ * @generated
+ */
+ EClass getHbEntity();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicInsert <em>Dynamic Insert</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Dynamic Insert</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicInsert()
+ * @see #getHbEntity()
+ * @generated
+ */
+ EAttribute getHbEntity_DynamicInsert();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicUpdate <em>Dynamic Update</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Dynamic Update</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isDynamicUpdate()
+ * @see #getHbEntity()
+ * @generated
+ */
+ EAttribute getHbEntity_DynamicUpdate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isSelectBeforeUpdate <em>Select Before Update</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Select Before Update</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isSelectBeforeUpdate()
+ * @see #getHbEntity()
+ * @generated
+ */
+ EAttribute getHbEntity_SelectBeforeUpdate();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isMutable <em>Mutable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Mutable</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#isMutable()
+ * @see #getHbEntity()
+ * @generated
+ */
+ EAttribute getHbEntity_Mutable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPersister <em>Persister</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Persister</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPersister()
+ * @see #getHbEntity()
+ * @generated
+ */
+ EAttribute getHbEntity_Persister();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getOptimisticLock <em>Optimistic Lock</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Optimistic Lock</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getOptimisticLock()
+ * @see #getHbEntity()
+ * @generated
+ */
+ EAttribute getHbEntity_OptimisticLock();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPolymorphism <em>Polymorphism</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Polymorphism</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbEntity#getPolymorphism()
+ * @see #getHbEntity()
+ * @generated
+ */
+ EAttribute getHbEntity_Polymorphism();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize <em>Batch Size</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Batch Size</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize
+ * @generated
+ */
+ EClass getBatchSize();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize#getSize <em>Size</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Size</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize#getSize()
+ * @see #getBatchSize()
+ * @generated
+ */
+ EAttribute getBatchSize_Size();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any <em>Any</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Any</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Any
+ * @generated
+ */
+ EClass getAny();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaDef <em>Meta Def</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Meta Def</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaDef()
+ * @see #getAny()
+ * @generated
+ */
+ EAttribute getAny_MetaDef();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaColumn <em>Meta Column</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Meta Column</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Any#getMetaColumn()
+ * @see #getAny()
+ * @generated
+ */
+ EReference getAny_MetaColumn();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#getFetch <em>Fetch</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Fetch</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Any#getFetch()
+ * @see #getAny()
+ * @generated
+ */
+ EAttribute getAny_Fetch();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Any#isOptional <em>Optional</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Optional</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.Any#isOptional()
+ * @see #getAny()
+ * @generated
+ */
+ EAttribute getAny_Optional();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue <em>Meta Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Meta Value</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue
+ * @generated
+ */
+ EClass getMetaValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getTargetEntity <em>Target Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Target Entity</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getTargetEntity()
+ * @see #getMetaValue()
+ * @generated
+ */
+ EAttribute getMetaValue_TargetEntity();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getValue()
+ * @see #getMetaValue()
+ * @generated
+ */
+ EAttribute getMetaValue_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef <em>Any Meta Def</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Any Meta Def</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef
+ * @generated
+ */
+ EClass getAnyMetaDef();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getName()
+ * @see #getAnyMetaDef()
+ * @generated
+ */
+ EAttribute getAnyMetaDef_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaType <em>Meta Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Meta Type</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaType()
+ * @see #getAnyMetaDef()
+ * @generated
+ */
+ EAttribute getAnyMetaDef_MetaType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getIdType <em>Id Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id Type</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getIdType()
+ * @see #getAnyMetaDef()
+ * @generated
+ */
+ EAttribute getAnyMetaDef_IdType();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaValues <em>Meta Values</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Meta Values</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef#getMetaValues()
+ * @see #getAnyMetaDef()
+ * @generated
+ */
+ EReference getAnyMetaDef_MetaValues();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy <em>Cache Concurrency Strategy</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Cache Concurrency Strategy</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy
+ * @generated
+ */
+ EEnum getCacheConcurrencyStrategy();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType <em>Hb Fetch Type</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Hb Fetch Type</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType
+ * @generated
+ */
+ EEnum getHbFetchType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction <em>On Delete Action</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @return the meta object for enum '<em>On Delete Action</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction
+ * @generated
+ */
+ EEnum getOnDeleteAction();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime <em>Generation Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Generation Time</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime
+ * @generated
+ */
+ EEnum getGenerationTime();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction <em>Not Found Action</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Not Found Action</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction
+ * @generated
+ */
+ EEnum getNotFoundAction();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType <em>Optimistic Lock Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Optimistic Lock Type</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType
+ * @generated
+ */
+ EEnum getOptimisticLockType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType <em>Polymorphism Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Polymorphism Type</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType
+ * @generated
+ */
+ EEnum getPolymorphismType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType <em>Hb Cascade Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Hb Cascade Type</em>'.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType
+ * @generated
+ */
+ EEnum getHbCascadeType();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ HbannotationFactory getHbannotationFactory();
+
+ /**
+ * <!-- begin-user-doc --> Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbAnnotationImpl <em>Hb Annotation</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbAnnotationImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbAnnotation()
+ * @generated
+ */
+ EClass HB_ANNOTATION = eINSTANCE.getHbAnnotation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CascadeImpl <em>Cascade</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CascadeImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCascade()
+ * @generated
+ */
+ EClass CASCADE = eINSTANCE.getCascade();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute list feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CASCADE__VALUE = eINSTANCE.getCascade_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl <em>Collection Of Elements</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCollectionOfElements()
+ * @generated
+ */
+ EClass COLLECTION_OF_ELEMENTS = eINSTANCE.getCollectionOfElements();
+
+ /**
+ * The meta object literal for the '<em><b>Target Element</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLLECTION_OF_ELEMENTS__TARGET_ELEMENT = eINSTANCE.getCollectionOfElements_TargetElement();
+
+ /**
+ * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute COLLECTION_OF_ELEMENTS__FETCH = eINSTANCE.getCollectionOfElements_Fetch();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbMapKeyImpl <em>Hb Map Key</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbMapKeyImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbMapKey()
+ * @generated
+ */
+ EClass HB_MAP_KEY = eINSTANCE.getHbMapKey();
+
+ /**
+ * The meta object literal for the '<em><b>Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HB_MAP_KEY__COLUMNS = eINSTANCE.getHbMapKey_Columns();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParameterImpl <em>Parameter</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParameterImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getParameter()
+ * @generated
+ */
+ EClass PARAMETER = eINSTANCE.getParameter();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute PARAMETER__NAME = eINSTANCE.getParameter_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute PARAMETER__VALUE = eINSTANCE.getParameter_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeImpl <em>Type</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getType()
+ * @generated
+ */
+ EClass TYPE = eINSTANCE.getType();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute TYPE__TYPE = eINSTANCE.getType_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Parameters</b></em>' reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TYPE__PARAMETERS = eINSTANCE.getType_Parameters();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.WhereImpl <em>Where</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.WhereImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getWhere()
+ * @generated
+ */
+ EClass WHERE = eINSTANCE.getWhere();
+
+ /**
+ * The meta object literal for the '<em><b>Clause</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute WHERE__CLAUSE = eINSTANCE.getWhere_Clause();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IdBagImpl <em>Id Bag</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.IdBagImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getIdBag()
+ * @generated
+ */
+ EClass ID_BAG = eINSTANCE.getIdBag();
+
+ /**
+ * The meta object literal for the '<em><b>Generator</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ID_BAG__GENERATOR = eINSTANCE.getIdBag_Generator();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ID_BAG__TYPE = eINSTANCE.getIdBag_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Table</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ID_BAG__TABLE = eINSTANCE.getIdBag_Table();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GenericGeneratorImpl <em>Generic Generator</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.GenericGeneratorImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenericGenerator()
+ * @generated
+ */
+ EClass GENERIC_GENERATOR = eINSTANCE.getGenericGenerator();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute GENERIC_GENERATOR__NAME = eINSTANCE.getGenericGenerator_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Strategy</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute GENERIC_GENERATOR__STRATEGY = eINSTANCE.getGenericGenerator_Strategy();
+
+ /**
+ * The meta object literal for the '<em><b>Parameters</b></em>' reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GENERIC_GENERATOR__PARAMETERS = eINSTANCE.getGenericGenerator_Parameters();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl <em>Cache</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCache()
+ * @generated
+ */
+ EClass CACHE = eINSTANCE.getCache();
+
+ /**
+ * The meta object literal for the '<em><b>Usage</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CACHE__USAGE = eINSTANCE.getCache_Usage();
+
+ /**
+ * The meta object literal for the '<em><b>Region</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CACHE__REGION = eINSTANCE.getCache_Region();
+
+ /**
+ * The meta object literal for the '<em><b>Include</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute CACHE__INCLUDE = eINSTANCE.getCache_Include();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeDefImpl <em>Type Def</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.TypeDefImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getTypeDef()
+ * @generated
+ */
+ EClass TYPE_DEF = eINSTANCE.getTypeDef();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute TYPE_DEF__NAME = eINSTANCE.getTypeDef_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Parameters</b></em>' reference list feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TYPE_DEF__PARAMETERS = eINSTANCE.getTypeDef_Parameters();
+
+ /**
+ * The meta object literal for the '<em><b>Type Class</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute TYPE_DEF__TYPE_CLASS = eINSTANCE.getTypeDef_TypeClass();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FetchImpl <em>Fetch</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FetchImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFetch()
+ * @generated
+ */
+ EClass FETCH = eINSTANCE.getFetch();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute FETCH__VALUE = eINSTANCE.getFetch_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.OnDeleteImpl <em>On Delete</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.OnDeleteImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOnDelete()
+ * @generated
+ */
+ EClass ON_DELETE = eINSTANCE.getOnDelete();
+
+ /**
+ * The meta object literal for the '<em><b>Action</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute ON_DELETE__ACTION = eINSTANCE.getOnDelete_Action();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ProxyImpl <em>Proxy</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ProxyImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getProxy()
+ * @generated
+ */
+ EClass PROXY = eINSTANCE.getProxy();
+
+ /**
+ * The meta object literal for the '<em><b>Proxy Class</b></em>' attribute feature.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROXY__PROXY_CLASS = eINSTANCE.getProxy_ProxyClass();
+
+ /**
+ * The meta object literal for the '<em><b>Lazy</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute PROXY__LAZY = eINSTANCE.getProxy_Lazy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.IndexImpl <em>Index</em>}' class.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.IndexImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getIndex()
+ * @generated
+ */
+ EClass INDEX = eINSTANCE.getIndex();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute INDEX__NAME = eINSTANCE.getIndex_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.GeneratedImpl <em>Generated</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.GeneratedImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenerated()
+ * @generated
+ */
+ EClass GENERATED = eINSTANCE.getGenerated();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GENERATED__VALUE = eINSTANCE.getGenerated_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NamedQueryImpl <em>Named Query</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NamedQueryImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNamedQuery()
+ * @generated
+ */
+ EClass NAMED_QUERY = eINSTANCE.getNamedQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NAMED_QUERY__NAME = eINSTANCE.getNamedQuery_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Query</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NAMED_QUERY__QUERY = eINSTANCE.getNamedQuery_Query();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterImpl <em>Filter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFilter()
+ * @generated
+ */
+ EClass FILTER = eINSTANCE.getFilter();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FILTER__NAME = eINSTANCE.getFilter_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Condition</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FILTER__CONDITION = eINSTANCE.getFilter_Condition();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParamDefImpl <em>Param Def</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ParamDefImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getParamDef()
+ * @generated
+ */
+ EClass PARAM_DEF = eINSTANCE.getParamDef();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PARAM_DEF__NAME = eINSTANCE.getParamDef_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PARAM_DEF__TYPE = eINSTANCE.getParamDef_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterDefImpl <em>Filter Def</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FilterDefImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFilterDef()
+ * @generated
+ */
+ EClass FILTER_DEF = eINSTANCE.getFilterDef();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FILTER_DEF__NAME = eINSTANCE.getFilterDef_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Default Condition</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FILTER_DEF__DEFAULT_CONDITION = eINSTANCE.getFilterDef_DefaultCondition();
+
+ /**
+ * The meta object literal for the '<em><b>Parameters</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FILTER_DEF__PARAMETERS = eINSTANCE.getFilterDef_Parameters();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.DiscriminatorFormulaImpl <em>Discriminator Formula</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.DiscriminatorFormulaImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getDiscriminatorFormula()
+ * @generated
+ */
+ EClass DISCRIMINATOR_FORMULA = eINSTANCE.getDiscriminatorFormula();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DISCRIMINATOR_FORMULA__VALUE = eINSTANCE.getDiscriminatorFormula_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NaturalIdImpl <em>Natural Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NaturalIdImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNaturalId()
+ * @generated
+ */
+ EClass NATURAL_ID = eINSTANCE.getNaturalId();
+
+ /**
+ * The meta object literal for the '<em><b>Mutable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NATURAL_ID__MUTABLE = eINSTANCE.getNaturalId_Mutable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MapKeyManyToManyImpl <em>Map Key Many To Many</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.MapKeyManyToManyImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getMapKeyManyToMany()
+ * @generated
+ */
+ EClass MAP_KEY_MANY_TO_MANY = eINSTANCE.getMapKeyManyToMany();
+
+ /**
+ * The meta object literal for the '<em><b>Join Columns</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MAP_KEY_MANY_TO_MANY__JOIN_COLUMNS = eINSTANCE.getMapKeyManyToMany_JoinColumns();
+
+ /**
+ * The meta object literal for the '<em><b>Target Entity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MAP_KEY_MANY_TO_MANY__TARGET_ENTITY = eINSTANCE.getMapKeyManyToMany_TargetEntity();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ForceDiscriminatorImpl <em>Force Discriminator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ForceDiscriminatorImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getForceDiscriminator()
+ * @generated
+ */
+ EClass FORCE_DISCRIMINATOR = eINSTANCE.getForceDiscriminator();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.ImmutableImpl <em>Immutable</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.ImmutableImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getImmutable()
+ * @generated
+ */
+ EClass IMMUTABLE = eINSTANCE.getImmutable();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.FormulaImpl <em>Formula</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.FormulaImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getFormula()
+ * @generated
+ */
+ EClass FORMULA = eINSTANCE.getFormula();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FORMULA__VALUE = eINSTANCE.getFormula_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.NotFoundImpl <em>Not Found</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.NotFoundImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNotFound()
+ * @generated
+ */
+ EClass NOT_FOUND = eINSTANCE.getNotFound();
+
+ /**
+ * The meta object literal for the '<em><b>Action</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NOT_FOUND__ACTION = eINSTANCE.getNotFound_Action();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl <em>Hb Entity</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbEntityImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbEntity()
+ * @generated
+ */
+ EClass HB_ENTITY = eINSTANCE.getHbEntity();
+
+ /**
+ * The meta object literal for the '<em><b>Dynamic Insert</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HB_ENTITY__DYNAMIC_INSERT = eINSTANCE.getHbEntity_DynamicInsert();
+
+ /**
+ * The meta object literal for the '<em><b>Dynamic Update</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HB_ENTITY__DYNAMIC_UPDATE = eINSTANCE.getHbEntity_DynamicUpdate();
+
+ /**
+ * The meta object literal for the '<em><b>Select Before Update</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HB_ENTITY__SELECT_BEFORE_UPDATE = eINSTANCE.getHbEntity_SelectBeforeUpdate();
+
+ /**
+ * The meta object literal for the '<em><b>Mutable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HB_ENTITY__MUTABLE = eINSTANCE.getHbEntity_Mutable();
+
+ /**
+ * The meta object literal for the '<em><b>Persister</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HB_ENTITY__PERSISTER = eINSTANCE.getHbEntity_Persister();
+
+ /**
+ * The meta object literal for the '<em><b>Optimistic Lock</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HB_ENTITY__OPTIMISTIC_LOCK = eINSTANCE.getHbEntity_OptimisticLock();
+
+ /**
+ * The meta object literal for the '<em><b>Polymorphism</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HB_ENTITY__POLYMORPHISM = eINSTANCE.getHbEntity_Polymorphism();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.BatchSizeImpl <em>Batch Size</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.BatchSizeImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getBatchSize()
+ * @generated
+ */
+ EClass BATCH_SIZE = eINSTANCE.getBatchSize();
+
+ /**
+ * The meta object literal for the '<em><b>Size</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BATCH_SIZE__SIZE = eINSTANCE.getBatchSize_Size();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl <em>Any</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getAny()
+ * @generated
+ */
+ EClass ANY = eINSTANCE.getAny();
+
+ /**
+ * The meta object literal for the '<em><b>Meta Def</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANY__META_DEF = eINSTANCE.getAny_MetaDef();
+
+ /**
+ * The meta object literal for the '<em><b>Meta Column</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANY__META_COLUMN = eINSTANCE.getAny_MetaColumn();
+
+ /**
+ * The meta object literal for the '<em><b>Fetch</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANY__FETCH = eINSTANCE.getAny_Fetch();
+
+ /**
+ * The meta object literal for the '<em><b>Optional</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANY__OPTIONAL = eINSTANCE.getAny_Optional();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.MetaValueImpl <em>Meta Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.MetaValueImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getMetaValue()
+ * @generated
+ */
+ EClass META_VALUE = eINSTANCE.getMetaValue();
+
+ /**
+ * The meta object literal for the '<em><b>Target Entity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute META_VALUE__TARGET_ENTITY = eINSTANCE.getMetaValue_TargetEntity();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute META_VALUE__VALUE = eINSTANCE.getMetaValue_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl <em>Any Meta Def</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getAnyMetaDef()
+ * @generated
+ */
+ EClass ANY_META_DEF = eINSTANCE.getAnyMetaDef();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANY_META_DEF__NAME = eINSTANCE.getAnyMetaDef_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Meta Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANY_META_DEF__META_TYPE = eINSTANCE.getAnyMetaDef_MetaType();
+
+ /**
+ * The meta object literal for the '<em><b>Id Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANY_META_DEF__ID_TYPE = eINSTANCE.getAnyMetaDef_IdType();
+
+ /**
+ * The meta object literal for the '<em><b>Meta Values</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANY_META_DEF__META_VALUES = eINSTANCE.getAnyMetaDef_MetaValues();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy <em>Cache Concurrency Strategy</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getCacheConcurrencyStrategy()
+ * @generated
+ */
+ EEnum CACHE_CONCURRENCY_STRATEGY = eINSTANCE.getCacheConcurrencyStrategy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType <em>Hb Fetch Type</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbFetchType
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbFetchType()
+ * @generated
+ */
+ EEnum HB_FETCH_TYPE = eINSTANCE.getHbFetchType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction <em>On Delete Action</em>}' enum.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOnDeleteAction()
+ * @generated
+ */
+ EEnum ON_DELETE_ACTION = eINSTANCE.getOnDeleteAction();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime <em>Generation Time</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.GenerationTime
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getGenerationTime()
+ * @generated
+ */
+ EEnum GENERATION_TIME = eINSTANCE.getGenerationTime();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction <em>Not Found Action</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getNotFoundAction()
+ * @generated
+ */
+ EEnum NOT_FOUND_ACTION = eINSTANCE.getNotFoundAction();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType <em>Optimistic Lock Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OptimisticLockType
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getOptimisticLockType()
+ * @generated
+ */
+ EEnum OPTIMISTIC_LOCK_TYPE = eINSTANCE.getOptimisticLockType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType <em>Polymorphism Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.PolymorphismType
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getPolymorphismType()
+ * @generated
+ */
+ EEnum POLYMORPHISM_TYPE = eINSTANCE.getPolymorphismType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType <em>Hb Cascade Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.impl.HbannotationPackageImpl#getHbCascadeType()
+ * @generated
+ */
+ EEnum HB_CASCADE_TYPE = eINSTANCE.getHbCascadeType();
+
+ }
+
+} // HbannotationPackage
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/IdBag.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/IdBag.java
new file mode 100755
index 000000000..96d6e94f7
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/IdBag.java
@@ -0,0 +1,104 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: IdBag.java,v 1.6 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Id Bag</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getGenerator <em>Generator</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getTable <em>Table</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getIdBag()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface IdBag extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Generator</b></em>' attribute.
+ * The default value is <code>"increment"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Generator</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Generator</em>' attribute.
+ * @see #setGenerator(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getIdBag_Generator()
+ * @model default="increment"
+ * @generated
+ */
+ String getGenerator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getGenerator <em>Generator</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Generator</em>' attribute.
+ * @see #getGenerator()
+ * @generated
+ */
+ void setGenerator(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute. The default value is <code>"long"</code>. <!--
+ * begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbAnnotationPackage#getIdBag_Type()
+ * @model default="long"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Table</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Table</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Table</em>' attribute.
+ * @see #setTable(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getIdBag_Table()
+ * @model
+ * @generated
+ */
+ String getTable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.IdBag#getTable <em>Table</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Table</em>' attribute.
+ * @see #getTable()
+ * @generated
+ */
+ void setTable(String value);
+
+} // IdBag
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Immutable.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Immutable.java
new file mode 100755
index 000000000..9dd0befd2
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Immutable.java
@@ -0,0 +1,21 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Immutable.java,v 1.1 2008/07/12 13:10:33 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Immutable</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getImmutable()
+ * @model annotation="teneo/internal/Target 0='EClass' 1='EReference'"
+ * @generated
+ */
+public interface Immutable extends HbAnnotation {
+} // Immutable
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Index.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Index.java
new file mode 100755
index 000000000..de5ce7f7e
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Index.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Index.java,v 1.2 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Index</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Index#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getIndex()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface Index extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getIndex_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Index#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // Index
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKey.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKey.java
new file mode 100755
index 000000000..5c11eea92
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKey.java
@@ -0,0 +1,43 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MapKey.java,v 1.6 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Map Key</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKey#getColumns <em>Columns</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMapKey()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface MapKey extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.Column}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Columns</em>' containment reference list isn't clear, there really should be more
+ * of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Columns</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMapKey_Columns()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<Column> getColumns();
+
+} // MapKey
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKeyManyToMany.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKeyManyToMany.java
new file mode 100755
index 000000000..91bd31698
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MapKeyManyToMany.java
@@ -0,0 +1,72 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MapKeyManyToMany.java,v 1.2 2010/02/04 11:03:37 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.teneo.annotations.pannotation.JoinColumn;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Map Key Many To Many</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getJoinColumns <em>Join Columns</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getTargetEntity <em>Target Entity</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMapKeyManyToMany()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EReference'"
+ * @generated
+ */
+public interface MapKeyManyToMany extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Join Columns</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.annotations.pannotation.JoinColumn}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Join Columns</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Join Columns</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMapKeyManyToMany_JoinColumns()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<JoinColumn> getJoinColumns();
+
+ /**
+ * Returns the value of the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Entity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Entity</em>' attribute.
+ * @see #setTargetEntity(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMapKeyManyToMany_TargetEntity()
+ * @model
+ * @generated
+ */
+ String getTargetEntity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MapKeyManyToMany#getTargetEntity <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Entity</em>' attribute.
+ * @see #getTargetEntity()
+ * @generated
+ */
+ void setTargetEntity(String value);
+
+} // MapKeyManyToMany
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MetaValue.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MetaValue.java
new file mode 100644
index 000000000..34f831604
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/MetaValue.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: MetaValue.java,v 1.1 2009/06/27 09:19:10 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Meta Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getTargetEntity <em>Target Entity</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMetaValue()
+ * @model
+ * @generated
+ */
+public interface MetaValue extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Target Entity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Target Entity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Target Entity</em>' attribute.
+ * @see #setTargetEntity(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMetaValue_TargetEntity()
+ * @model
+ * @generated
+ */
+ String getTargetEntity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getTargetEntity <em>Target Entity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Target Entity</em>' attribute.
+ * @see #getTargetEntity()
+ * @generated
+ */
+ void setTargetEntity(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getMetaValue_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // MetaValue
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NamedQuery.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NamedQuery.java
new file mode 100755
index 000000000..6819a58f0
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NamedQuery.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: NamedQuery.java,v 1.1 2008/03/30 20:55:12 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Named Query</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getQuery <em>Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNamedQuery()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface NamedQuery extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNamedQuery_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Query</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Query</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Query</em>' attribute.
+ * @see #setQuery(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNamedQuery_Query()
+ * @model
+ * @generated
+ */
+ String getQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NamedQuery#getQuery <em>Query</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Query</em>' attribute.
+ * @see #getQuery()
+ * @generated
+ */
+ void setQuery(String value);
+
+} // NamedQuery
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NaturalId.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NaturalId.java
new file mode 100755
index 000000000..d4b41ea95
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NaturalId.java
@@ -0,0 +1,53 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: NaturalId.java,v 1.2 2010/02/04 11:03:37 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Natural Id</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId#isMutable <em>Mutable</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNaturalId()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface NaturalId extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Mutable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mutable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mutable</em>' attribute.
+ * @see #setMutable(boolean)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNaturalId_Mutable()
+ * @model required="true"
+ * @generated
+ */
+ boolean isMutable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NaturalId#isMutable <em>Mutable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mutable</em>' attribute.
+ * @see #isMutable()
+ * @generated
+ */
+ void setMutable(boolean value);
+
+} // NaturalId
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFound.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFound.java
new file mode 100755
index 000000000..8612d0eec
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFound.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: NotFound.java,v 1.1 2008/08/04 05:15:00 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Not Found</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFound#getAction <em>Action</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNotFound()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EReference'"
+ * @generated
+ */
+public interface NotFound extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Action</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Action</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Action</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction
+ * @see #setAction(NotFoundAction)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNotFound_Action()
+ * @model required="true"
+ * @generated
+ */
+ NotFoundAction getAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.NotFound#getAction <em>Action</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Action</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.NotFoundAction
+ * @see #getAction()
+ * @generated
+ */
+ void setAction(NotFoundAction value);
+
+} // NotFound
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFoundAction.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFoundAction.java
new file mode 100755
index 000000000..852a50e69
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/NotFoundAction.java
@@ -0,0 +1,212 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: NotFoundAction.java,v 1.1 2008/08/04 05:15:00 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Not Found Action</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getNotFoundAction()
+ * @model
+ * @generated
+ */
+public enum NotFoundAction implements Enumerator {
+ /**
+ * The '<em><b>EXCEPTION</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EXCEPTION_VALUE
+ * @generated
+ * @ordered
+ */
+ EXCEPTION(0, "EXCEPTION", "EXCEPTION"),
+
+ /**
+ * The '<em><b>IGNORE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #IGNORE_VALUE
+ * @generated
+ * @ordered
+ */
+ IGNORE(1, "IGNORE", "IGNORE");
+
+ /**
+ * The '<em><b>EXCEPTION</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EXCEPTION</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EXCEPTION
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int EXCEPTION_VALUE = 0;
+
+ /**
+ * The '<em><b>IGNORE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>IGNORE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #IGNORE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int IGNORE_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Not Found Action</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final NotFoundAction[] VALUES_ARRAY =
+ new NotFoundAction[] {
+ EXCEPTION,
+ IGNORE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Not Found Action</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<NotFoundAction> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Not Found Action</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NotFoundAction get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ NotFoundAction result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Not Found Action</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NotFoundAction getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ NotFoundAction result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Not Found Action</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NotFoundAction get(int value) {
+ switch (value) {
+ case EXCEPTION_VALUE: return EXCEPTION;
+ case IGNORE_VALUE: return IGNORE;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private NotFoundAction(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //NotFoundAction
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDelete.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDelete.java
new file mode 100755
index 000000000..1b97611a3
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDelete.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OnDelete.java,v 1.3 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>On Delete</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete#getAction <em>Action</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getOnDelete()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface OnDelete extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Action</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Action</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Action</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction
+ * @see #setAction(OnDeleteAction)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getOnDelete_Action()
+ * @model
+ * @generated
+ */
+ OnDeleteAction getAction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.OnDelete#getAction <em>Action</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Action</em>' attribute.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.OnDeleteAction
+ * @see #getAction()
+ * @generated
+ */
+ void setAction(OnDeleteAction value);
+
+} // OnDelete
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDeleteAction.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDeleteAction.java
new file mode 100755
index 000000000..0d012f671
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OnDeleteAction.java
@@ -0,0 +1,211 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OnDeleteAction.java,v 1.3 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>On Delete Action</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getOnDeleteAction()
+ * @model
+ * @generated
+ */
+public enum OnDeleteAction implements Enumerator {
+ /**
+ * The '<em><b>NO ACTION</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NO_ACTION_VALUE
+ * @generated
+ * @ordered
+ */
+ NO_ACTION(0, "NO_ACTION", "NO_ACTION"),
+
+ /**
+ * The '<em><b>CASCADE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CASCADE_VALUE
+ * @generated
+ * @ordered
+ */
+ CASCADE(1, "CASCADE", "CASCADE");
+
+ /**
+ * The '<em><b>NO ACTION</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NO ACTION</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NO_ACTION
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NO_ACTION_VALUE = 0;
+
+ /**
+ * The '<em><b>CASCADE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CASCADE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CASCADE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int CASCADE_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>On Delete Action</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final OnDeleteAction[] VALUES_ARRAY = new OnDeleteAction[] {
+ NO_ACTION,
+ CASCADE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>On Delete Action</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<OnDeleteAction> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>On Delete Action</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OnDeleteAction get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ OnDeleteAction result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>On Delete Action</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OnDeleteAction getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ OnDeleteAction result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>On Delete Action</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OnDeleteAction get(int value) {
+ switch (value) {
+ case NO_ACTION_VALUE: return NO_ACTION;
+ case CASCADE_VALUE: return CASCADE;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private OnDeleteAction(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} // OnDeleteAction
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OptimisticLockType.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OptimisticLockType.java
new file mode 100755
index 000000000..ac4286704
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/OptimisticLockType.java
@@ -0,0 +1,266 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: OptimisticLockType.java,v 1.1 2008/08/26 21:19:08 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Optimistic Lock Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getOptimisticLockType()
+ * @model
+ * @generated
+ */
+public enum OptimisticLockType implements Enumerator {
+ /**
+ * The '<em><b>ALL</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ALL_VALUE
+ * @generated
+ * @ordered
+ */
+ ALL(0, "ALL", "ALL"),
+
+ /**
+ * The '<em><b>DIRTY</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DIRTY_VALUE
+ * @generated
+ * @ordered
+ */
+ DIRTY(1, "DIRTY", "DIRTY"),
+
+ /**
+ * The '<em><b>NONE</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NONE_VALUE
+ * @generated
+ * @ordered
+ */
+ NONE(2, "NONE", "NONE"),
+
+ /**
+ * The '<em><b>VERSION</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #VERSION_VALUE
+ * @generated
+ * @ordered
+ */
+ VERSION(3, "VERSION", "VERSION");
+
+ /**
+ * The '<em><b>ALL</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>ALL</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ALL
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int ALL_VALUE = 0;
+
+ /**
+ * The '<em><b>DIRTY</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>DIRTY</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DIRTY
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int DIRTY_VALUE = 1;
+
+ /**
+ * The '<em><b>NONE</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NONE</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NONE
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NONE_VALUE = 2;
+
+ /**
+ * The '<em><b>VERSION</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>VERSION</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #VERSION
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int VERSION_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Optimistic Lock Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final OptimisticLockType[] VALUES_ARRAY =
+ new OptimisticLockType[] {
+ ALL,
+ DIRTY,
+ NONE,
+ VERSION,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Optimistic Lock Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<OptimisticLockType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Optimistic Lock Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OptimisticLockType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ OptimisticLockType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Optimistic Lock Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OptimisticLockType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ OptimisticLockType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Optimistic Lock Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OptimisticLockType get(int value) {
+ switch (value) {
+ case ALL_VALUE: return ALL;
+ case DIRTY_VALUE: return DIRTY;
+ case NONE_VALUE: return NONE;
+ case VERSION_VALUE: return VERSION;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private OptimisticLockType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //OptimisticLockType
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ParamDef.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ParamDef.java
new file mode 100755
index 000000000..ff1530e92
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/ParamDef.java
@@ -0,0 +1,80 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: ParamDef.java,v 1.1 2008/04/23 15:44:26 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Param Def</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParamDef()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EClass' 1='EReference'"
+ * @generated
+ */
+public interface ParamDef extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParamDef_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParamDef_Type()
+ * @model required="true"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.ParamDef#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+} // ParamDef
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Parameter.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Parameter.java
new file mode 100755
index 000000000..7ec6d67da
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Parameter.java
@@ -0,0 +1,76 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Parameter.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Parameter</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParameter()
+ * @model annotation="http://annotation.elver.org/internal/Collection name='Parameters' packageNS='http://www.eclipse.org/emf/teneo/2006/HbAnnotation'"
+ * annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature' 1='EClass' 2='EPackage'"
+ * @generated
+ */
+public interface Parameter extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParameter_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getParameter_Value()
+ * @model required="true"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // Parameter
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/PolymorphismType.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/PolymorphismType.java
new file mode 100755
index 000000000..172c39839
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/PolymorphismType.java
@@ -0,0 +1,212 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: PolymorphismType.java,v 1.1 2008/08/26 21:19:08 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Polymorphism Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getPolymorphismType()
+ * @model
+ * @generated
+ */
+public enum PolymorphismType implements Enumerator {
+ /**
+ * The '<em><b>IMPLICIT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #IMPLICIT_VALUE
+ * @generated
+ * @ordered
+ */
+ IMPLICIT(0, "IMPLICIT", "IMPLICIT"),
+
+ /**
+ * The '<em><b>EXPLICIT</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EXPLICIT_VALUE
+ * @generated
+ * @ordered
+ */
+ EXPLICIT(1, "EXPLICIT", "EXPLICIT");
+
+ /**
+ * The '<em><b>IMPLICIT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>IMPLICIT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #IMPLICIT
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int IMPLICIT_VALUE = 0;
+
+ /**
+ * The '<em><b>EXPLICIT</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EXPLICIT</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EXPLICIT
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int EXPLICIT_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Polymorphism Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final PolymorphismType[] VALUES_ARRAY =
+ new PolymorphismType[] {
+ IMPLICIT,
+ EXPLICIT,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Polymorphism Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<PolymorphismType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Polymorphism Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PolymorphismType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PolymorphismType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Polymorphism Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PolymorphismType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PolymorphismType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Polymorphism Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PolymorphismType get(int value) {
+ switch (value) {
+ case IMPLICIT_VALUE: return IMPLICIT;
+ case EXPLICIT_VALUE: return EXPLICIT;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private PolymorphismType(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //PolymorphismType
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Proxy.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Proxy.java
new file mode 100755
index 000000000..1be40cf5f
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Proxy.java
@@ -0,0 +1,81 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Proxy.java,v 1.3 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Proxy</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#getProxyClass <em>Proxy Class</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#isLazy <em>Lazy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getProxy()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EClass'"
+ * @generated
+ */
+public interface Proxy extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Proxy Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Proxy Class</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Proxy Class</em>' attribute.
+ * @see #setProxyClass(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getProxy_ProxyClass()
+ * @model
+ * @generated
+ */
+ String getProxyClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#getProxyClass <em>Proxy Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Proxy Class</em>' attribute.
+ * @see #getProxyClass()
+ * @generated
+ */
+ void setProxyClass(String value);
+
+ /**
+ * Returns the value of the '<em><b>Lazy</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lazy</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lazy</em>' attribute.
+ * @see #setLazy(boolean)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getProxy_Lazy()
+ * @model default="true"
+ * @generated
+ */
+ boolean isLazy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Proxy#isLazy <em>Lazy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Lazy</em>' attribute.
+ * @see #isLazy()
+ * @generated
+ */
+ void setLazy(boolean value);
+
+} // Proxy
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Type.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Type.java
new file mode 100755
index 000000000..fbcfcee1e
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Type.java
@@ -0,0 +1,68 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Type.java,v 1.6 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Type</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type#getParameters <em>Parameters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getType()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface Type extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getType_Type()
+ * @model required="true"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Type#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Parameters</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameters</em>' reference list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parameters</em>' reference list.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getType_Parameters()
+ * @model
+ * @generated
+ */
+ EList<Parameter> getParameters();
+
+} // Type
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/TypeDef.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/TypeDef.java
new file mode 100755
index 000000000..b7adbee55
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/TypeDef.java
@@ -0,0 +1,94 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: TypeDef.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Type Def</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getParameters <em>Parameters</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getTypeClass <em>Type Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getTypeDef()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature' 1='EClass' 2='EPackage'"
+ * @generated
+ */
+public interface TypeDef extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getTypeDef_Name()
+ * @model required="true"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Parameters</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.hibernate.hbannotation.Parameter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parameters</em>' reference list isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parameters</em>' reference list.
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getTypeDef_Parameters()
+ * @model
+ * @generated
+ */
+ EList<Parameter> getParameters();
+
+ /**
+ * Returns the value of the '<em><b>Type Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type Class</em>' attribute isn't clear, there really should be more of a
+ * description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type Class</em>' attribute.
+ * @see #setTypeClass(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getTypeDef_TypeClass()
+ * @model required="true"
+ * @generated
+ */
+ String getTypeClass();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.TypeDef#getTypeClass <em>Type Class</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type Class</em>' attribute.
+ * @see #getTypeClass()
+ * @generated
+ */
+ void setTypeClass(String value);
+
+} // TypeDef
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Where.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Where.java
new file mode 100755
index 000000000..e2706bc00
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/Where.java
@@ -0,0 +1,49 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Where.java,v 1.5 2007/07/04 19:31:48 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation;
+
+/**
+ * <!-- begin-user-doc --> A representation of the model object '<em><b>Where</b></em>'. <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.Where#getClause <em>Clause</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getWhere()
+ * @model annotation="http://annotation.elver.org/internal/Target 0='EStructuralFeature'"
+ * @generated
+ */
+public interface Where extends HbAnnotation {
+ /**
+ * Returns the value of the '<em><b>Clause</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Clause</em>' attribute isn't clear, there really should be more of a description
+ * here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Clause</em>' attribute.
+ * @see #setClause(String)
+ * @see org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage#getWhere_Clause()
+ * @model
+ * @generated
+ */
+ String getClause();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.hibernate.hbannotation.Where#getClause <em>Clause</em>}' attribute.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @param value the new value of the '<em>Clause</em>' attribute.
+ * @see #getClause()
+ * @generated
+ */
+ void setClause(String value);
+
+} // Where
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyImpl.java
new file mode 100644
index 000000000..060e76a80
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyImpl.java
@@ -0,0 +1,353 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AnyImpl.java,v 1.2 2010/02/04 11:03:39 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.Column;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.hibernate.hbannotation.Any;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Any</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl#getMetaDef <em>Meta Def</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl#getMetaColumn <em>Meta Column</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl#getFetch <em>Fetch</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyImpl#isOptional <em>Optional</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AnyImpl extends HbAnnotationImpl implements Any {
+ /**
+ * The default value of the '{@link #getMetaDef() <em>Meta Def</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetaDef()
+ * @generated
+ * @ordered
+ */
+ protected static final String META_DEF_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMetaDef() <em>Meta Def</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetaDef()
+ * @generated
+ * @ordered
+ */
+ protected String metaDef = META_DEF_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMetaColumn() <em>Meta Column</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetaColumn()
+ * @generated
+ * @ordered
+ */
+ protected Column metaColumn;
+
+ /**
+ * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.EAGER;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isOptional() <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOptional()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean OPTIONAL_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isOptional() <em>Optional</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isOptional()
+ * @generated
+ * @ordered
+ */
+ protected boolean optional = OPTIONAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HbannotationPackage.Literals.ANY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMetaDef() {
+ return metaDef;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMetaDef(String newMetaDef) {
+ String oldMetaDef = metaDef;
+ metaDef = newMetaDef;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY__META_DEF, oldMetaDef, metaDef));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Column getMetaColumn() {
+ return metaColumn;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetMetaColumn(Column newMetaColumn, NotificationChain msgs) {
+ Column oldMetaColumn = metaColumn;
+ metaColumn = newMetaColumn;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY__META_COLUMN, oldMetaColumn, newMetaColumn);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMetaColumn(Column newMetaColumn) {
+ if (newMetaColumn != metaColumn) {
+ NotificationChain msgs = null;
+ if (metaColumn != null)
+ msgs = ((InternalEObject)metaColumn).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - HbannotationPackage.ANY__META_COLUMN, null, msgs);
+ if (newMetaColumn != null)
+ msgs = ((InternalEObject)newMetaColumn).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - HbannotationPackage.ANY__META_COLUMN, null, msgs);
+ msgs = basicSetMetaColumn(newMetaColumn, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY__META_COLUMN, newMetaColumn, newMetaColumn));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FetchType getFetch() {
+ return fetch;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFetch(FetchType newFetch) {
+ FetchType oldFetch = fetch;
+ fetch = newFetch == null ? FETCH_EDEFAULT : newFetch;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isOptional() {
+ return optional;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOptional(boolean newOptional) {
+ boolean oldOptional = optional;
+ optional = newOptional;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY__OPTIONAL, oldOptional, optional));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case HbannotationPackage.ANY__META_COLUMN:
+ return basicSetMetaColumn(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HbannotationPackage.ANY__META_DEF:
+ return getMetaDef();
+ case HbannotationPackage.ANY__META_COLUMN:
+ return getMetaColumn();
+ case HbannotationPackage.ANY__FETCH:
+ return getFetch();
+ case HbannotationPackage.ANY__OPTIONAL:
+ return isOptional();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HbannotationPackage.ANY__META_DEF:
+ setMetaDef((String)newValue);
+ return;
+ case HbannotationPackage.ANY__META_COLUMN:
+ setMetaColumn((Column)newValue);
+ return;
+ case HbannotationPackage.ANY__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ case HbannotationPackage.ANY__OPTIONAL:
+ setOptional((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.ANY__META_DEF:
+ setMetaDef(META_DEF_EDEFAULT);
+ return;
+ case HbannotationPackage.ANY__META_COLUMN:
+ setMetaColumn((Column)null);
+ return;
+ case HbannotationPackage.ANY__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ case HbannotationPackage.ANY__OPTIONAL:
+ setOptional(OPTIONAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.ANY__META_DEF:
+ return META_DEF_EDEFAULT == null ? metaDef != null : !META_DEF_EDEFAULT.equals(metaDef);
+ case HbannotationPackage.ANY__META_COLUMN:
+ return metaColumn != null;
+ case HbannotationPackage.ANY__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ case HbannotationPackage.ANY__OPTIONAL:
+ return optional != OPTIONAL_EDEFAULT;
+ }
+ 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(" (metaDef: ");
+ result.append(metaDef);
+ result.append(", fetch: ");
+ result.append(fetch);
+ result.append(", optional: ");
+ result.append(optional);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AnyImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyMetaDefImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyMetaDefImpl.java
new file mode 100644
index 000000000..fd168ef8e
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/AnyMetaDefImpl.java
@@ -0,0 +1,328 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: AnyMetaDefImpl.java,v 1.3 2010/02/04 11:03:40 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.teneo.hibernate.hbannotation.AnyMetaDef;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage;
+import org.eclipse.emf.teneo.hibernate.hbannotation.MetaValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Any Meta Def</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl#getMetaType <em>Meta Type</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl#getIdType <em>Id Type</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.AnyMetaDefImpl#getMetaValues <em>Meta Values</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AnyMetaDefImpl extends HbAnnotationImpl implements AnyMetaDef {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMetaType() <em>Meta Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetaType()
+ * @generated
+ * @ordered
+ */
+ protected static final String META_TYPE_EDEFAULT = "string";
+
+ /**
+ * The cached value of the '{@link #getMetaType() <em>Meta Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetaType()
+ * @generated
+ * @ordered
+ */
+ protected String metaType = META_TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIdType() <em>Id Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdType()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_TYPE_EDEFAULT = "string";
+
+ /**
+ * The cached value of the '{@link #getIdType() <em>Id Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdType()
+ * @generated
+ * @ordered
+ */
+ protected String idType = ID_TYPE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMetaValues() <em>Meta Values</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMetaValues()
+ * @generated
+ * @ordered
+ */
+ protected EList<MetaValue> metaValues;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnyMetaDefImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HbannotationPackage.Literals.ANY_META_DEF;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY_META_DEF__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMetaType() {
+ return metaType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMetaType(String newMetaType) {
+ String oldMetaType = metaType;
+ metaType = newMetaType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY_META_DEF__META_TYPE, oldMetaType, metaType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIdType() {
+ return idType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIdType(String newIdType) {
+ String oldIdType = idType;
+ idType = newIdType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.ANY_META_DEF__ID_TYPE, oldIdType, idType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MetaValue> getMetaValues() {
+ if (metaValues == null) {
+ metaValues = new EObjectContainmentEList<MetaValue>(MetaValue.class, this, HbannotationPackage.ANY_META_DEF__META_VALUES);
+ }
+ return metaValues;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case HbannotationPackage.ANY_META_DEF__META_VALUES:
+ return ((InternalEList<?>)getMetaValues()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HbannotationPackage.ANY_META_DEF__NAME:
+ return getName();
+ case HbannotationPackage.ANY_META_DEF__META_TYPE:
+ return getMetaType();
+ case HbannotationPackage.ANY_META_DEF__ID_TYPE:
+ return getIdType();
+ case HbannotationPackage.ANY_META_DEF__META_VALUES:
+ return getMetaValues();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HbannotationPackage.ANY_META_DEF__NAME:
+ setName((String)newValue);
+ return;
+ case HbannotationPackage.ANY_META_DEF__META_TYPE:
+ setMetaType((String)newValue);
+ return;
+ case HbannotationPackage.ANY_META_DEF__ID_TYPE:
+ setIdType((String)newValue);
+ return;
+ case HbannotationPackage.ANY_META_DEF__META_VALUES:
+ getMetaValues().clear();
+ getMetaValues().addAll((Collection<? extends MetaValue>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.ANY_META_DEF__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case HbannotationPackage.ANY_META_DEF__META_TYPE:
+ setMetaType(META_TYPE_EDEFAULT);
+ return;
+ case HbannotationPackage.ANY_META_DEF__ID_TYPE:
+ setIdType(ID_TYPE_EDEFAULT);
+ return;
+ case HbannotationPackage.ANY_META_DEF__META_VALUES:
+ getMetaValues().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.ANY_META_DEF__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case HbannotationPackage.ANY_META_DEF__META_TYPE:
+ return META_TYPE_EDEFAULT == null ? metaType != null : !META_TYPE_EDEFAULT.equals(metaType);
+ case HbannotationPackage.ANY_META_DEF__ID_TYPE:
+ return ID_TYPE_EDEFAULT == null ? idType != null : !ID_TYPE_EDEFAULT.equals(idType);
+ case HbannotationPackage.ANY_META_DEF__META_VALUES:
+ return metaValues != null && !metaValues.isEmpty();
+ }
+ 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(" (name: ");
+ result.append(name);
+ result.append(", metaType: ");
+ result.append(metaType);
+ result.append(", idType: ");
+ result.append(idType);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AnyMetaDefImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/BatchSizeImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/BatchSizeImpl.java
new file mode 100644
index 000000000..1a81c4096
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/BatchSizeImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: BatchSizeImpl.java,v 1.3 2010/02/04 11:03:42 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.hibernate.hbannotation.BatchSize;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Batch Size</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.BatchSizeImpl#getSize <em>Size</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BatchSizeImpl extends HbAnnotationImpl implements BatchSize {
+ /**
+ * The default value of the '{@link #getSize() <em>Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSize()
+ * @generated
+ * @ordered
+ */
+ protected static final int SIZE_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getSize() <em>Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSize()
+ * @generated
+ * @ordered
+ */
+ protected int size = SIZE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BatchSizeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HbannotationPackage.Literals.BATCH_SIZE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getSize() {
+ return size;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSize(int newSize) {
+ int oldSize = size;
+ size = newSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.BATCH_SIZE__SIZE, oldSize, size));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HbannotationPackage.BATCH_SIZE__SIZE:
+ return getSize();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HbannotationPackage.BATCH_SIZE__SIZE:
+ setSize((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.BATCH_SIZE__SIZE:
+ setSize(SIZE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.BATCH_SIZE__SIZE:
+ return size != SIZE_EDEFAULT;
+ }
+ 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(" (size: ");
+ result.append(size);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BatchSizeImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CacheImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CacheImpl.java
new file mode 100755
index 000000000..a28cd9ff0
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CacheImpl.java
@@ -0,0 +1,272 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: CacheImpl.java,v 1.8 2008/01/18 06:21:36 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.hibernate.hbannotation.Cache;
+import org.eclipse.emf.teneo.hibernate.hbannotation.CacheConcurrencyStrategy;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cache</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl#getUsage <em>Usage</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl#getRegion <em>Region</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CacheImpl#getInclude <em>Include</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CacheImpl extends HbAnnotationImpl implements Cache {
+ /**
+ * The default value of the '{@link #getUsage() <em>Usage</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUsage()
+ * @generated
+ * @ordered
+ */
+ protected static final CacheConcurrencyStrategy USAGE_EDEFAULT = CacheConcurrencyStrategy.NONE;
+
+ /**
+ * The cached value of the '{@link #getUsage() <em>Usage</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUsage()
+ * @generated
+ * @ordered
+ */
+ protected CacheConcurrencyStrategy usage = USAGE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRegion() <em>Region</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRegion()
+ * @generated
+ * @ordered
+ */
+ protected static final String REGION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRegion() <em>Region</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRegion()
+ * @generated
+ * @ordered
+ */
+ protected String region = REGION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getInclude() <em>Include</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInclude()
+ * @generated
+ * @ordered
+ */
+ protected static final String INCLUDE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInclude() <em>Include</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInclude()
+ * @generated
+ * @ordered
+ */
+ protected String include = INCLUDE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CacheImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HbannotationPackage.Literals.CACHE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CacheConcurrencyStrategy getUsage() {
+ return usage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUsage(CacheConcurrencyStrategy newUsage) {
+ CacheConcurrencyStrategy oldUsage = usage;
+ usage = newUsage == null ? USAGE_EDEFAULT : newUsage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.CACHE__USAGE, oldUsage, usage));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getRegion() {
+ return region;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRegion(String newRegion) {
+ String oldRegion = region;
+ region = newRegion;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.CACHE__REGION, oldRegion, region));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getInclude() {
+ return include;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInclude(String newInclude) {
+ String oldInclude = include;
+ include = newInclude;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.CACHE__INCLUDE, oldInclude, include));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HbannotationPackage.CACHE__USAGE:
+ return getUsage();
+ case HbannotationPackage.CACHE__REGION:
+ return getRegion();
+ case HbannotationPackage.CACHE__INCLUDE:
+ return getInclude();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HbannotationPackage.CACHE__USAGE:
+ setUsage((CacheConcurrencyStrategy)newValue);
+ return;
+ case HbannotationPackage.CACHE__REGION:
+ setRegion((String)newValue);
+ return;
+ case HbannotationPackage.CACHE__INCLUDE:
+ setInclude((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.CACHE__USAGE:
+ setUsage(USAGE_EDEFAULT);
+ return;
+ case HbannotationPackage.CACHE__REGION:
+ setRegion(REGION_EDEFAULT);
+ return;
+ case HbannotationPackage.CACHE__INCLUDE:
+ setInclude(INCLUDE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.CACHE__USAGE:
+ return usage != USAGE_EDEFAULT;
+ case HbannotationPackage.CACHE__REGION:
+ return REGION_EDEFAULT == null ? region != null : !REGION_EDEFAULT.equals(region);
+ case HbannotationPackage.CACHE__INCLUDE:
+ return INCLUDE_EDEFAULT == null ? include != null : !INCLUDE_EDEFAULT.equals(include);
+ }
+ 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(" (usage: ");
+ result.append(usage);
+ result.append(", region: ");
+ result.append(region);
+ result.append(", include: ");
+ result.append(include);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CacheImpl \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CascadeImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CascadeImpl.java
new file mode 100755
index 000000000..ea740b3de
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CascadeImpl.java
@@ -0,0 +1,149 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: CascadeImpl.java,v 1.9 2010/02/04 11:03:43 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.teneo.hibernate.hbannotation.Cascade;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbCascadeType;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Cascade</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CascadeImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CascadeImpl extends HbAnnotationImpl implements Cascade {
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected EList<HbCascadeType> value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CascadeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HbannotationPackage.Literals.CASCADE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HbCascadeType> getValue() {
+ if (value == null) {
+ value = new EDataTypeUniqueEList<HbCascadeType>(HbCascadeType.class, this, HbannotationPackage.CASCADE__VALUE);
+ }
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HbannotationPackage.CASCADE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HbannotationPackage.CASCADE__VALUE:
+ getValue().clear();
+ getValue().addAll((Collection<? extends HbCascadeType>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.CASCADE__VALUE:
+ getValue().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.CASCADE__VALUE:
+ return value != null && !value.isEmpty();
+ }
+ 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(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CascadeImpl \ No newline at end of file
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CollectionOfElementsImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CollectionOfElementsImpl.java
new file mode 100755
index 000000000..6291bfe5c
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/CollectionOfElementsImpl.java
@@ -0,0 +1,218 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: CollectionOfElementsImpl.java,v 1.8 2008/01/18 06:21:36 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.annotations.pannotation.FetchType;
+import org.eclipse.emf.teneo.hibernate.hbannotation.CollectionOfElements;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Collection Of Elements</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl#getTargetElement <em>Target Element</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.CollectionOfElementsImpl#getFetch <em>Fetch</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CollectionOfElementsImpl extends HbAnnotationImpl implements CollectionOfElements {
+ /**
+ * The default value of the '{@link #getTargetElement() <em>Target Element</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetElement()
+ * @generated
+ * @ordered
+ */
+ protected static final String TARGET_ELEMENT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTargetElement() <em>Target Element</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTargetElement()
+ * @generated
+ * @ordered
+ */
+ protected String targetElement = TARGET_ELEMENT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected static final FetchType FETCH_EDEFAULT = FetchType.LAZY;
+
+ /**
+ * The cached value of the '{@link #getFetch() <em>Fetch</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFetch()
+ * @generated
+ * @ordered
+ */
+ protected FetchType fetch = FETCH_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CollectionOfElementsImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HbannotationPackage.Literals.COLLECTION_OF_ELEMENTS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTargetElement() {
+ return targetElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTargetElement(String newTargetElement) {
+ String oldTargetElement = targetElement;
+ targetElement = newTargetElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.COLLECTION_OF_ELEMENTS__TARGET_ELEMENT, oldTargetElement, targetElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FetchType getFetch() {
+ return fetch;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFetch(FetchType newFetch) {
+ FetchType oldFetch = fetch;
+ fetch = newFetch == null ? FETCH_EDEFAULT : newFetch;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.COLLECTION_OF_ELEMENTS__FETCH, oldFetch, fetch));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HbannotationPackage.COLLECTION_OF_ELEMENTS__TARGET_ELEMENT:
+ return getTargetElement();
+ case HbannotationPackage.COLLECTION_OF_ELEMENTS__FETCH:
+ return getFetch();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HbannotationPackage.COLLECTION_OF_ELEMENTS__TARGET_ELEMENT:
+ setTargetElement((String)newValue);
+ return;
+ case HbannotationPackage.COLLECTION_OF_ELEMENTS__FETCH:
+ setFetch((FetchType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.COLLECTION_OF_ELEMENTS__TARGET_ELEMENT:
+ setTargetElement(TARGET_ELEMENT_EDEFAULT);
+ return;
+ case HbannotationPackage.COLLECTION_OF_ELEMENTS__FETCH:
+ setFetch(FETCH_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HbannotationPackage.COLLECTION_OF_ELEMENTS__TARGET_ELEMENT:
+ return TARGET_ELEMENT_EDEFAULT == null ? targetElement != null : !TARGET_ELEMENT_EDEFAULT.equals(targetElement);
+ case HbannotationPackage.COLLECTION_OF_ELEMENTS__FETCH:
+ return fetch != FETCH_EDEFAULT;
+ }
+ 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(" (targetElement: ");
+ result.append(targetElement);
+ result.append(", fetch: ");
+ result.append(fetch);
+ result.append(')');
+ return result.toString();
+ }
+
+} // CollectionOfElementsImpl
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/DiscriminatorFormulaImpl.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/DiscriminatorFormulaImpl.java
new file mode 100755
index 000000000..d8f895bf7
--- /dev/null
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/hbannotation/impl/DiscriminatorFormulaImpl.java
@@ -0,0 +1,163 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: DiscriminatorFormulaImpl.java,v 1.2 2010/02/04 11:03:43 mtaal Exp $
+ */
+package org.eclipse.emf.teneo.hibernate.hbannotation.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.teneo.hibernate.hbannotation.DiscriminatorFormula;
+import org.eclipse.emf.teneo.hibernate.hbannotation.HbannotationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Discriminator Formula</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.hibernate.hbannotation.impl.DiscriminatorFormulaImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DiscriminatorFormulaImpl extends HbAnnotationImpl implements DiscriminatorFormula {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DiscriminatorFormulaImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HbannotationPackage.Literals.DISCRIMINATOR_FORMULA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HbannotationPackage.DISCRIMINATOR_FORMULA__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HbannotationPackage.DISCRIMINATOR_FORMULA__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HbannotationPackage.DISCRIMINATOR_FORMULA__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->