blob: eafc9a7e4602f2f3fa37d6dba7f43832f25d4443 [file] [log] [blame]
/*
* Copyright (c) 1998, 2021 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 v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// 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());
}
@Override
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;
}
}