################################################################################
# Copyright (c) 2009 Oracle. All rights reserved.
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v1.0, which accompanies this distribution
# and is available at http://www.eclipse.org/legal/epl-v10.html.
# 
# Contributors:
#     Oracle - initial API and implementation
################################################################################

CollectionTable2_0Composite_title=Collection Table
CollectionTable2_0Composite_joinColumn=Join columns
CollectionTable2_0Composite_name=Name:
CollectionTable2_0Composite_schema=Schema:
CollectionTable2_0Composite_catalog=Catalog:
CollectionTable2_0Composite_overrideDefaultJoinColumns=Override default

DerivedIdentity_title=Derived Identity
DerivedIdentity_nullDerivedIdentity=None
DerivedIdentity_idDerivedIdentity=Id
DerivedIdentity_mapsIdDerivedIdentity=Maps id:
DerivedIdentity_mapsIdUnspecifiedValue=<undetermined value>

ElementCollectionMapping2_0_label=Element Collection
ElementCollectionMapping2_0_linkLabel=element collection
AbstractElementCollectionMapping2_0_Composite_valueSectionTitle=Value
Entity_cacheableLabel=Cacheable
Entity_cacheableWithDefaultLabel=Cacheable ({0})

OrderingComposite_orderColumn=Order column

OrphanRemoval2_0Composite_orphanRemovalLabel=Orphan removal
OrphanRemoval2_0Composite_orphanRemovalLabelDefault=Orphan removal ({0})

LockModeComposite_lockModeLabel = Lock mode:

LockModeComposite_read = Read
LockModeComposite_write = Write
LockModeComposite_optimistic = Optimistic
LockModeComposite_optimistic_force_increment = Optimistic Force Increment
LockModeComposite_pessimistic_read = Pessimistic Read
LockModeComposite_pessimistic_write = Pessimistic Write
LockModeComposite_pessimistic_force_increment = Pessimistic Force Increment
LockModeComposite_none = None

TargetClassComposite_label=Target class: