/******************************************************************************* | |
* Copyright (c) 1998, 2013 Oracle and/or its affiliates. All rights reserved. | |
* This program and the accompanying materials are made available under the | |
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 | |
* which accompanies this distribution. | |
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html | |
* and the Eclipse Distribution License is available at | |
* http://www.eclipse.org/org/documents/edl-v10.php. | |
* | |
* Contributors: | |
* dminsky - initial API and implementation | |
******************************************************************************/ | |
package org.eclipse.persistence.testing.models.aggregate; | |
import org.eclipse.persistence.sessions.*; | |
import org.eclipse.persistence.descriptors.*; | |
import org.eclipse.persistence.mappings.*; | |
/** | |
* This class was generated by the TopLink project class generator. | |
* It stores the meta-data (descriptors) that define the TopLink mappings. | |
* ## Eclipse Persistence Services - @VERSION@.@QUALIFIER@ ## | |
* @see org.eclipse.persistence.sessions.factories.ProjectClassGenerator | |
*/ | |
public class AggregateRelationshipsProject extends org.eclipse.persistence.sessions.Project { | |
public AggregateRelationshipsProject() { | |
setName("AggregateProblem"); | |
applyLogin(); | |
addDescriptor(buildAggregateClassDescriptor()); | |
addDescriptor(buildChildClassDescriptor()); | |
addDescriptor(buildCousinClassDescriptor()); | |
addDescriptor(buildParentClassDescriptor()); | |
addDescriptor(buildRelativeClassDescriptor()); | |
addDescriptor(buildStepChildClassDescriptor()); | |
} | |
public void applyLogin() { | |
setDatasourceLogin(new DatabaseLogin()); | |
} | |
public ClassDescriptor buildAggregateClassDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
descriptor.descriptorIsAggregate(); | |
descriptor.setJavaClass(Aggregate.class); | |
// ClassDescriptor Properties. | |
descriptor.setAlias("Aggregate"); | |
// Query Manager. | |
// Event Manager. | |
// Mappings. | |
DirectCollectionMapping nicknamesMapping = new DirectCollectionMapping(); | |
nicknamesMapping.setAttributeName("nicknames"); | |
nicknamesMapping.dontUseIndirection(); | |
nicknamesMapping.setReferenceTableName("AGG_NICKNAME"); | |
nicknamesMapping.setDirectFieldName("AGG_NICKNAME.NICKNAME"); | |
nicknamesMapping.addReferenceKeyFieldName("AGG_NICKNAME.PARENT_ID", "nicknames->P_ID_IN_REFERENCE_NICKNAME_PARENT"); | |
descriptor.addMapping(nicknamesMapping); | |
OneToOneMapping cousinMapping = new OneToOneMapping(); | |
cousinMapping.setAttributeName("cousin"); | |
cousinMapping.setReferenceClass(Cousin.class); | |
cousinMapping.dontUseIndirection(); | |
cousinMapping.addForeignKeyFieldName("cousin->COUSIN_ID_IN_REFERENCE_PARENT_COUSIN", "AGG_COUSIN.ID"); | |
descriptor.addMapping(cousinMapping); | |
OneToOneMapping stepChildMapping = new OneToOneMapping(); | |
stepChildMapping.setAttributeName("stepChild"); | |
stepChildMapping.setReferenceClass(StepChild.class); | |
stepChildMapping.dontUseIndirection(); | |
stepChildMapping.addTargetForeignKeyFieldName("AGG_STEPCHILD.PARENT_ID", "stepChild->PARENT_ID_IN_REFERENCE_STEPCHILD_PARENT"); | |
descriptor.addMapping(stepChildMapping); | |
OneToManyMapping childrenMapping = new OneToManyMapping(); | |
childrenMapping.setAttributeName("children"); | |
childrenMapping.setReferenceClass(Child.class); | |
childrenMapping.useTransparentCollection(); | |
childrenMapping.useCollectionClass(org.eclipse.persistence.indirection.IndirectList.class); | |
childrenMapping.addTargetForeignKeyFieldName("AGG_CHILD.PARENT_ID", "children->P_ID_IN_REFERENCE_CHILD_PARENT"); | |
descriptor.addMapping(childrenMapping); | |
ManyToManyMapping relativesMapping = new ManyToManyMapping(); | |
relativesMapping.setAttributeName("relatives"); | |
relativesMapping.setReferenceClass(Relative.class); | |
relativesMapping.privateOwnedRelationship(); | |
relativesMapping.useTransparentCollection(); | |
relativesMapping.useCollectionClass(org.eclipse.persistence.indirection.IndirectList.class); | |
relativesMapping.setRelationTableName("AGG_PARENT_RELATIVE"); | |
relativesMapping.addSourceRelationKeyFieldName("AGG_PARENT_RELATIVE.PARENT_ID", "relatives->P_ID_IN_REFERENCE_RELATIVE_TO_PARENT"); | |
relativesMapping.addTargetRelationKeyFieldName("AGG_PARENT_RELATIVE.RELATIVE_ID", "AGG_RELATIVE.REL_ID"); | |
descriptor.addMapping(relativesMapping); | |
return descriptor; | |
} | |
public ClassDescriptor buildChildClassDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
descriptor.setJavaClass(Child.class); | |
descriptor.addTableName("AGG_CHILD"); | |
descriptor.addPrimaryKeyFieldName("AGG_CHILD.ID"); | |
// ClassDescriptor Properties. | |
descriptor.useSoftCacheWeakIdentityMap(); | |
descriptor.setIdentityMapSize(100); | |
descriptor.useRemoteSoftCacheWeakIdentityMap(); | |
descriptor.setRemoteIdentityMapSize(100); | |
descriptor.setSequenceNumberFieldName("AGG_CHILD.ID"); | |
descriptor.setSequenceNumberName("Agg_Child_Seq"); | |
descriptor.setAlias("Child"); | |
// Query Manager. | |
descriptor.getQueryManager().checkCacheForDoesExist(); | |
// Event Manager. | |
// Mappings. | |
DirectToFieldMapping idMapping = new DirectToFieldMapping(); | |
idMapping.setAttributeName("id"); | |
idMapping.setFieldName("AGG_CHILD.ID"); | |
descriptor.addMapping(idMapping); | |
OneToOneMapping parentMapping = new OneToOneMapping(); | |
parentMapping.setAttributeName("parent"); | |
parentMapping.setReferenceClass(Parent.class); | |
parentMapping.dontUseIndirection(); | |
parentMapping.addForeignKeyFieldName("AGG_CHILD.PARENT_ID", "AGG_PARENT.P_ID"); | |
descriptor.addMapping(parentMapping); | |
return descriptor; | |
} | |
public ClassDescriptor buildCousinClassDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
descriptor.setJavaClass(Cousin.class); | |
descriptor.addTableName("AGG_COUSIN"); | |
descriptor.addPrimaryKeyFieldName("AGG_COUSIN.ID"); | |
// ClassDescriptor Properties. | |
descriptor.useSoftCacheWeakIdentityMap(); | |
descriptor.setIdentityMapSize(100); | |
descriptor.useRemoteSoftCacheWeakIdentityMap(); | |
descriptor.setRemoteIdentityMapSize(100); | |
descriptor.setSequenceNumberFieldName("AGG_COUSIN.ID"); | |
descriptor.setSequenceNumberName("Agg_Cousin_Seq"); | |
descriptor.setAlias("Cousin"); | |
// Query Manager. | |
descriptor.getQueryManager().checkCacheForDoesExist(); | |
// Event Manager. | |
// Mappings. | |
DirectToFieldMapping idMapping = new DirectToFieldMapping(); | |
idMapping.setAttributeName("id"); | |
idMapping.setFieldName("AGG_COUSIN.ID"); | |
descriptor.addMapping(idMapping); | |
DirectToFieldMapping nameMapping = new DirectToFieldMapping(); | |
nameMapping.setAttributeName("name"); | |
nameMapping.setFieldName("AGG_COUSIN.NAME"); | |
descriptor.addMapping(nameMapping); | |
return descriptor; | |
} | |
public ClassDescriptor buildParentClassDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
descriptor.setJavaClass(Parent.class); | |
descriptor.addTableName("AGG_PARENT"); | |
descriptor.addPrimaryKeyFieldName("AGG_PARENT.P_ID"); | |
// ClassDescriptor Properties. | |
descriptor.useSoftCacheWeakIdentityMap(); | |
descriptor.setIdentityMapSize(100); | |
descriptor.useRemoteSoftCacheWeakIdentityMap(); | |
descriptor.setRemoteIdentityMapSize(100); | |
descriptor.setSequenceNumberFieldName("AGG_PARENT.P_ID"); | |
descriptor.setSequenceNumberName("Agg_Parent_Seq"); | |
descriptor.setAlias("Parent"); | |
// Query Manager. | |
descriptor.getQueryManager().checkCacheForDoesExist(); | |
// Event Manager. | |
// Mappings. | |
DirectToFieldMapping idMapping = new DirectToFieldMapping(); | |
idMapping.setAttributeName("id"); | |
idMapping.setFieldName("AGG_PARENT.P_ID"); | |
descriptor.addMapping(idMapping); | |
AggregateObjectMapping aggregateMapping = new AggregateObjectMapping(); | |
aggregateMapping.setAttributeName("aggregate"); | |
aggregateMapping.setReferenceClass(Aggregate.class); | |
aggregateMapping.setIsNullAllowed(false); | |
aggregateMapping.addFieldNameTranslation("AGG_PARENT.P_ID", "relatives->P_ID_IN_REFERENCE_RELATIVE_TO_PARENT"); | |
aggregateMapping.addFieldNameTranslation("AGG_PARENT.P_ID", "children->P_ID_IN_REFERENCE_CHILD_PARENT"); | |
aggregateMapping.addFieldNameTranslation("AGG_PARENT.P_ID", "nicknames->P_ID_IN_REFERENCE_NICKNAME_PARENT"); | |
aggregateMapping.addFieldNameTranslation("AGG_PARENT.COUSIN_ID", "cousin->COUSIN_ID_IN_REFERENCE_PARENT_COUSIN"); | |
aggregateMapping.addFieldNameTranslation("AGG_PARENT.P_ID", "stepChild->PARENT_ID_IN_REFERENCE_STEPCHILD_PARENT"); | |
descriptor.addMapping(aggregateMapping); | |
return descriptor; | |
} | |
public ClassDescriptor buildRelativeClassDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
descriptor.setJavaClass(Relative.class); | |
descriptor.addTableName("AGG_RELATIVE"); | |
descriptor.addPrimaryKeyFieldName("AGG_RELATIVE.REL_ID"); | |
// ClassDescriptor Properties. | |
descriptor.useSoftCacheWeakIdentityMap(); | |
descriptor.setIdentityMapSize(100); | |
descriptor.useRemoteSoftCacheWeakIdentityMap(); | |
descriptor.setRemoteIdentityMapSize(100); | |
descriptor.setSequenceNumberFieldName("AGG_RELATIVE.REL_ID"); | |
descriptor.setSequenceNumberName("Agg_Relative_Seq"); | |
descriptor.setAlias("Relative"); | |
// Query Manager. | |
descriptor.getQueryManager().checkCacheForDoesExist(); | |
// Event Manager. | |
// Mappings. | |
DirectToFieldMapping idMapping = new DirectToFieldMapping(); | |
idMapping.setAttributeName("id"); | |
idMapping.setFieldName("AGG_RELATIVE.REL_ID"); | |
descriptor.addMapping(idMapping); | |
DirectToFieldMapping nameMapping = new DirectToFieldMapping(); | |
nameMapping.setAttributeName("name"); | |
nameMapping.setFieldName("AGG_RELATIVE.NAME"); | |
descriptor.addMapping(nameMapping); | |
return descriptor; | |
} | |
public ClassDescriptor buildStepChildClassDescriptor() { | |
RelationalDescriptor descriptor = new RelationalDescriptor(); | |
descriptor.setJavaClass(StepChild.class); | |
descriptor.addTableName("AGG_STEPCHILD"); | |
descriptor.addPrimaryKeyFieldName("AGG_STEPCHILD.ID"); | |
// ClassDescriptor Properties. | |
descriptor.useSoftCacheWeakIdentityMap(); | |
descriptor.setIdentityMapSize(100); | |
descriptor.useRemoteSoftCacheWeakIdentityMap(); | |
descriptor.setRemoteIdentityMapSize(100); | |
descriptor.setSequenceNumberFieldName("AGG_STEPCHILD.ID"); | |
descriptor.setSequenceNumberName("Agg_StepChild_Seq"); | |
descriptor.setAlias("StepChild"); | |
// Query Manager. | |
descriptor.getQueryManager().checkCacheForDoesExist(); | |
// Event Manager. | |
// Mappings. | |
DirectToFieldMapping idMapping = new DirectToFieldMapping(); | |
idMapping.setAttributeName("id"); | |
idMapping.setFieldName("AGG_STEPCHILD.ID"); | |
descriptor.addMapping(idMapping); | |
OneToOneMapping parentMapping = new OneToOneMapping(); | |
parentMapping.setAttributeName("parent"); | |
parentMapping.setReferenceClass(Parent.class); | |
parentMapping.dontUseIndirection(); | |
parentMapping.addForeignKeyFieldName("AGG_STEPCHILD.PARENT_ID", "AGG_PARENT.P_ID"); | |
descriptor.addMapping(parentMapping); | |
return descriptor; | |
} | |
} |