protected void buildEntityEntity1MMapHolderDescriptor() { RelationalDescriptor descriptor = new RelationalDescriptor(); // SECTION: DESCRIPTOR descriptor.setJavaClass(EntityEntity1MMapHolder.class); Vector vector = new Vector(); vector.addElement("ENT_ENT_1M_MAP_HOLDER"); descriptor.setTableNames(vector); descriptor.addPrimaryKeyFieldName("ENT_ENT_1M_MAP_HOLDER.ID"); // SECTION: PROPERTIES descriptor.setIdentityMapClass( org.eclipse.persistence.internal.identitymaps.FullIdentityMap.class); descriptor.setExistenceChecking("Check cache"); descriptor.setIdentityMapSize(100); descriptor.setSequenceNumberName("ENT_ENT_1M_MAP_HOLDER_ID"); descriptor.setSequenceNumberFieldName("ID"); // SECTION: DIRECTTOFIELDMAPPING org.eclipse.persistence.mappings.DirectToFieldMapping directtofieldmapping = new org.eclipse.persistence.mappings.DirectToFieldMapping(); directtofieldmapping.setAttributeName("id"); directtofieldmapping.setIsReadOnly(false); directtofieldmapping.setGetMethodName("getId"); directtofieldmapping.setSetMethodName("setId"); directtofieldmapping.setFieldName("ENT_ENT_1M_MAP_HOLDER.ID"); descriptor.addMapping(directtofieldmapping); OneToManyMapping mapMapping = new OneToManyMapping(); mapMapping.setAttributeName("entityToEntityMap"); mapMapping.setReferenceClass(EEOTMMapValue.class); mapMapping.setIndirectionPolicy(new TransparentIndirectionPolicy()); mapMapping.setGetMethodName("getEntityToEntityMap"); mapMapping.setSetMethodName("setEntityToEntityMap"); mapMapping.addTargetForeignKeyFieldName( "EE_OM_ENT_MAP_VALUE.HOLDER_ID", "ENT_ENT_1M_MAP_HOLDER.ID"); org.eclipse.persistence.mappings.OneToOneMapping keyMapping = new org.eclipse.persistence.mappings.OneToOneMapping(); keyMapping.setReferenceClass(EntityMapKey.class); keyMapping.dontUseIndirection(); keyMapping.addForeignKeyFieldName("EE_OM_ENT_MAP_VALUE.KEY_ID", "ENT_MAP_KEY.ID"); keyMapping.setDescriptor(descriptor); MappedKeyMapContainerPolicy policy = new MappedKeyMapContainerPolicy(IndirectMap.class); policy.setKeyMapping(keyMapping); policy.setValueMapping(mapMapping); mapMapping.setContainerPolicy(policy); descriptor.addMapping(mapMapping); addDescriptor(descriptor); }
public ClassDescriptor buildEmployeeDescriptor() { RelationalDescriptor descriptor = new RelationalDescriptor(); descriptor.setJavaClass(Employee.class); descriptor.addTableName("EMPLOYEE"); descriptor.addPrimaryKeyFieldName("EMPLOYEE.EMP_ID"); // Descriptor Properties. descriptor.useSoftCacheWeakIdentityMap(); descriptor.setIdentityMapSize(100); descriptor.setSequenceNumberFieldName("EMPLOYEE.EMP_ID"); descriptor.setSequenceNumberName("EMP_SEQ"); VersionLockingPolicy lockingPolicy = new VersionLockingPolicy(); lockingPolicy.setWriteLockFieldName("EMPLOYEE.VERSION"); lockingPolicy.storeInObject(); descriptor.setOptimisticLockingPolicy(lockingPolicy); descriptor.setAlias("Employee"); // Mappings. DirectToFieldMapping firstNameMapping = new DirectToFieldMapping(); firstNameMapping.setAttributeName("firstName"); firstNameMapping.setFieldName("EMPLOYEE.F_NAME"); firstNameMapping.setNullValue(""); descriptor.addMapping(firstNameMapping); DirectToFieldMapping idMapping = new DirectToFieldMapping(); idMapping.setAttributeName("id"); idMapping.setFieldName("EMPLOYEE.EMP_ID"); descriptor.addMapping(idMapping); DirectToFieldMapping versionMapping = new DirectToFieldMapping(); versionMapping.setAttributeName("version"); versionMapping.setFieldName("EMPLOYEE.VERSION"); descriptor.addMapping(versionMapping); DirectToFieldMapping lastNameMapping = new DirectToFieldMapping(); lastNameMapping.setAttributeName("lastName"); lastNameMapping.setFieldName("EMPLOYEE.L_NAME"); lastNameMapping.setNullValue(""); descriptor.addMapping(lastNameMapping); DirectToFieldMapping salaryMapping = new DirectToFieldMapping(); salaryMapping.setAttributeName("salary"); salaryMapping.setFieldName("EMPLOYEE.SALARY"); descriptor.addMapping(salaryMapping); DirectToFieldMapping genderMapping = new DirectToFieldMapping(); genderMapping.setAttributeName("gender"); genderMapping.setFieldName("EMPLOYEE.GENDER"); descriptor.addMapping(genderMapping); AggregateObjectMapping periodMapping = new AggregateObjectMapping(); periodMapping.setAttributeName("period"); periodMapping.setReferenceClass( org.eclipse.persistence.testing.models.performance.EmploymentPeriod.class); periodMapping.setIsNullAllowed(true); periodMapping.addFieldNameTranslation("EMPLOYEE.END_DATE", "endDate->DIRECT"); periodMapping.addFieldNameTranslation("EMPLOYEE.START_DATE", "startDate->DIRECT"); descriptor.addMapping(periodMapping); OneToOneMapping addressMapping = new OneToOneMapping(); addressMapping.setAttributeName("address"); addressMapping.setGetMethodName("getAddressHolder"); addressMapping.setSetMethodName("setAddressHolder"); addressMapping.setReferenceClass( org.eclipse.persistence.testing.models.performance.Address.class); addressMapping.useBasicIndirection(); addressMapping.privateOwnedRelationship(); addressMapping.addForeignKeyFieldName("EMPLOYEE.ADDR_ID", "ADDRESS.ADDRESS_ID"); descriptor.addMapping(addressMapping); OneToOneMapping managerMapping = new OneToOneMapping(); managerMapping.setAttributeName("manager"); managerMapping.setGetMethodName("getManagerHolder"); managerMapping.setSetMethodName("setManagerHolder"); managerMapping.setReferenceClass(Employee.class); managerMapping.useBasicIndirection(); managerMapping.addForeignKeyFieldName("EMPLOYEE.MANAGER_ID", "EMPLOYEE.EMP_ID"); descriptor.addMapping(managerMapping); OneToManyMapping managedEmployeesMapping = new OneToManyMapping(); managedEmployeesMapping.setAttributeName("managedEmployees"); managedEmployeesMapping.setReferenceClass(Employee.class); managedEmployeesMapping.useTransparentSet(); managedEmployeesMapping.addTargetForeignKeyFieldName("EMPLOYEE.MANAGER_ID", "EMPLOYEE.EMP_ID"); descriptor.addMapping(managedEmployeesMapping); OneToManyMapping phoneNumbersMapping = new OneToManyMapping(); phoneNumbersMapping.setAttributeName("phoneNumbers"); phoneNumbersMapping.setReferenceClass(PhoneNumber.class); phoneNumbersMapping.useTransparentSet(); phoneNumbersMapping.privateOwnedRelationship(); phoneNumbersMapping.addTargetForeignKeyFieldName("PHONE.EMP_ID", "EMPLOYEE.EMP_ID"); descriptor.addMapping(phoneNumbersMapping); ManyToManyMapping projectsMapping = new ManyToManyMapping(); projectsMapping.setAttributeName("projects"); projectsMapping.setReferenceClass(Project.class); projectsMapping.useTransparentSet(); projectsMapping.setRelationTableName("PROJ_EMP"); projectsMapping.addSourceRelationKeyFieldName("PROJ_EMP.EMP_ID", "EMPLOYEE.EMP_ID"); projectsMapping.addTargetRelationKeyFieldName("PROJ_EMP.PROJ_ID", "PROJECT.PROJ_ID"); descriptor.addMapping(projectsMapping); return descriptor; }
public static RelationalDescriptor descriptor() { RelationalDescriptor descriptor = new RelationalDescriptor(); /* First define the class, table and descriptor properties. */ descriptor.setJavaClass(Customer.class); descriptor.setTableName("EVENTCUSTOMER"); descriptor.setPrimaryKeyFieldName("ID"); descriptor.setSequenceNumberName("SEQ"); descriptor.setSequenceNumberFieldName("ID"); /* Next define the attribute mappings. */ OneToOneMapping addressMapping = new OneToOneMapping(); addressMapping.setAttributeName("address"); addressMapping.setReferenceClass(Address.class); addressMapping.dontUseIndirection(); addressMapping.privateOwnedRelationship(); addressMapping.addForeignKeyFieldName("EVENTCUSTOMER.ADDRESS_ID", "EADDRESS.ID"); descriptor.addMapping(addressMapping); OneToOneMapping phoneMapping = new OneToOneMapping(); phoneMapping.setAttributeName("phoneNumber"); phoneMapping.setReferenceClass(Phone.class); phoneMapping.dontUseIndirection(); phoneMapping.privateOwnedRelationship(); phoneMapping.addForeignKeyFieldName("EVENTCUSTOMER.PHONE_ID", "EPHONE.ID"); descriptor.addMapping(phoneMapping); OneToOneMapping emailMapping = new OneToOneMapping(); emailMapping.setAttributeName("email"); emailMapping.setReferenceClass(EmailAccount.class); emailMapping.dontUseIndirection(); emailMapping.privateOwnedRelationship(); emailMapping.addForeignKeyFieldName("EVENTCUSTOMER.EMAIL_ID", "EMAILACC.ID"); descriptor.addMapping(emailMapping); DirectCollectionMapping associationsMapping = new DirectCollectionMapping(); associationsMapping.setAttributeName("associations"); associationsMapping.dontUseIndirection(); associationsMapping.setReferenceTableName("EASSOCIATIONS"); associationsMapping.setDirectFieldName("EASSOCIATIONS.DESCRIP"); associationsMapping.addReferenceKeyFieldName("EASSOCIATIONS.CUSTOMER_ID", "EVENTCUSTOMER.ID"); descriptor.addMapping(associationsMapping); OneToManyMapping ordersMapping = new OneToManyMapping(); ordersMapping.setAttributeName("orders"); ordersMapping.setReferenceClass(Order.class); ordersMapping.useBasicIndirection(); ordersMapping.addTargetForeignKeyFieldName("EVENTORDER.CUSTOMER_ID", "EVENTCUSTOMER.ID"); descriptor.addMapping(ordersMapping); AggregateObjectMapping creditMapping = new AggregateObjectMapping(); creditMapping.setAttributeName("creditCard"); creditMapping.setReferenceClass(org.eclipse.persistence.testing.models.events.CreditCard.class); creditMapping.setIsNullAllowed(true); descriptor.addMapping(creditMapping); descriptor.addDirectMapping("id", "ID"); descriptor.addDirectMapping("name", "NAME"); return descriptor; }
/** modifications are marked with "bjv" */ protected void buildOrderDescriptor() { RelationalDescriptor descriptor = new RelationalDescriptor(); // SECTION: DESCRIPTOR descriptor.setJavaClass(this.orderClass()); // bjv Vector vector = new Vector(); vector.addElement("ORD"); descriptor.setTableNames(vector); descriptor.addPrimaryKeyFieldName("ORD.ID"); // SECTION: PROPERTIES descriptor.setIdentityMapClass( org.eclipse.persistence.internal.identitymaps.FullIdentityMap.class); descriptor.setSequenceNumberName("order_seq"); descriptor.setSequenceNumberFieldName("ID"); descriptor.setExistenceChecking("Check cache"); descriptor.setIdentityMapSize(100); // SECTION: COPY POLICY descriptor.createCopyPolicy("constructor"); // SECTION: INSTANTIATION POLICY descriptor.createInstantiationPolicy("constructor"); // SECTION: DIRECTCOLLECTIONMAPPING org.eclipse.persistence.mappings.DirectCollectionMapping directcollectionmapping = new org.eclipse.persistence.mappings.DirectCollectionMapping(); directcollectionmapping.setAttributeName("contacts"); directcollectionmapping.setIsReadOnly(false); directcollectionmapping.setUsesIndirection(false); directcollectionmapping.setIsPrivateOwned(true); this.configureContactContainer(directcollectionmapping); // bjv directcollectionmapping.setDirectFieldName("CONTACT.NAME"); directcollectionmapping.setReferenceTableName("CONTACT"); directcollectionmapping.addReferenceKeyFieldName("CONTACT.ORDER_ID", "ORD.ID"); descriptor.addMapping(directcollectionmapping); // SECTION: DIRECTCOLLECTIONMAPPING org.eclipse.persistence.mappings.DirectCollectionMapping directcollectionmapping1 = new org.eclipse.persistence.mappings.DirectCollectionMapping(); directcollectionmapping1.setAttributeName("contacts2"); directcollectionmapping1.setIsReadOnly(false); directcollectionmapping1.setUsesIndirection(false); directcollectionmapping1.setIsPrivateOwned(true); this.configureContactContainer2(directcollectionmapping1); // bjv directcollectionmapping1.setDirectFieldName("CONTACT2.NAME"); directcollectionmapping1.setReferenceTableName("CONTACT2"); directcollectionmapping1.addReferenceKeyFieldName("CONTACT2.ORDER_ID", "ORD.ID"); descriptor.addMapping(directcollectionmapping1); // SECTION: DIRECTTOFIELDMAPPING org.eclipse.persistence.mappings.DirectToFieldMapping directtofieldmapping = new org.eclipse.persistence.mappings.DirectToFieldMapping(); directtofieldmapping.setAttributeName("customerName"); directtofieldmapping.setIsReadOnly(false); directtofieldmapping.setFieldName("ORD.CUSTNAME"); descriptor.addMapping(directtofieldmapping); // SECTION: DIRECTTOFIELDMAPPING org.eclipse.persistence.mappings.DirectToFieldMapping directtofieldmapping1 = new org.eclipse.persistence.mappings.DirectToFieldMapping(); directtofieldmapping1.setAttributeName("id"); directtofieldmapping1.setIsReadOnly(false); directtofieldmapping1.setFieldName("ORD.ID"); descriptor.addMapping(directtofieldmapping1); // SECTION: MANYTOMANYMAPPING org.eclipse.persistence.mappings.ManyToManyMapping manytomanymapping = new org.eclipse.persistence.mappings.ManyToManyMapping(); manytomanymapping.setAttributeName("salesReps"); manytomanymapping.setIsReadOnly(false); manytomanymapping.setUsesIndirection(false); manytomanymapping.setReferenceClass(salesRepClass()); manytomanymapping.setIsPrivateOwned(false); this.configureSalesRepContainer(manytomanymapping); // bjv manytomanymapping.setRelationTableName("ORDREP"); manytomanymapping.addSourceRelationKeyFieldName("ORDREP.ORDER_ID", "ORD.ID"); manytomanymapping.addTargetRelationKeyFieldName("ORDREP.SALEREP_ID", "SALEREP.ID"); descriptor.addMapping(manytomanymapping); // SECTION: MANYTOMANYMAPPING org.eclipse.persistence.mappings.ManyToManyMapping manytomanymapping1 = new org.eclipse.persistence.mappings.ManyToManyMapping(); manytomanymapping1.setAttributeName("salesReps2"); manytomanymapping1.setIsReadOnly(false); manytomanymapping1.setUsesIndirection(false); manytomanymapping1.setReferenceClass(salesRepClass()); manytomanymapping1.setIsPrivateOwned(false); this.configureSalesRepContainer2(manytomanymapping1); // bjv manytomanymapping1.setRelationTableName("ORDREP2"); manytomanymapping1.addSourceRelationKeyFieldName("ORDREP2.ORDER_ID", "ORD.ID"); manytomanymapping1.addTargetRelationKeyFieldName("ORDREP2.SALEREP_ID", "SALEREP.ID"); descriptor.addMapping(manytomanymapping1); // SECTION: ONETOMANYMAPPING org.eclipse.persistence.mappings.OneToManyMapping onetomanymapping = new org.eclipse.persistence.mappings.OneToManyMapping(); onetomanymapping.setAttributeName("lines"); onetomanymapping.setIsReadOnly(false); onetomanymapping.setUsesIndirection(false); onetomanymapping.setReferenceClass(orderLineClass()); onetomanymapping.setIsPrivateOwned(true); this.configureLineContainer(onetomanymapping); // bjv onetomanymapping.addTargetForeignKeyFieldName("ORDLINE.ORDER_ID", "ORD.ID"); descriptor.addMapping(onetomanymapping); // SECTION: TRANSFORMATIONMAPPING org.eclipse.persistence.mappings.TransformationMapping transformationmapping = new org.eclipse.persistence.mappings.TransformationMapping(); transformationmapping.setAttributeName("total"); transformationmapping.setIsReadOnly(false); transformationmapping.setUsesIndirection(true); transformationmapping.setAttributeTransformation("getTotalFromRow"); transformationmapping.addFieldTransformation("ORD.TOTT", "getTotalTens"); transformationmapping.addFieldTransformation("ORD.TOTO", "getTotalOnes"); descriptor.addMapping(transformationmapping); // SECTION: TRANSFORMATIONMAPPING org.eclipse.persistence.mappings.TransformationMapping transformationmapping2 = new org.eclipse.persistence.mappings.TransformationMapping(); transformationmapping2.setAttributeName("total2"); transformationmapping2.setIsReadOnly(false); transformationmapping2.setUsesIndirection(false); transformationmapping2.setAttributeTransformation("getTotalFromRow2"); transformationmapping2.addFieldTransformation("ORD.TOTT2", "getTotalTens2"); transformationmapping2.addFieldTransformation("ORD.TOTO2", "getTotalOnes2"); descriptor.addMapping(transformationmapping2); this.modifyOrderDescriptor(descriptor); // bjv addDescriptor(descriptor); }