| /* |
| * 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: |
| // Oracle - initial API and implementation from Oracle TopLink |
| package org.eclipse.persistence.testing.models.mapping; |
| |
| import java.util.*; |
| import java.io.*; |
| |
| import org.eclipse.persistence.descriptors.ClassDescriptor; |
| import org.eclipse.persistence.descriptors.RelationalDescriptor; |
| import org.eclipse.persistence.internal.helper.*; |
| import org.eclipse.persistence.internal.sessions.DatabaseSessionImpl; |
| import org.eclipse.persistence.expressions.*; |
| |
| public class Employee1 implements Serializable { |
| private int id; |
| private String firstName; |
| private String lastName; |
| private String sex; |
| private String city; |
| private String country; |
| private String province; |
| private int addressId_E; |
| private int addressId_A; |
| private java.math.BigDecimal countryId_C; |
| private java.math.BigDecimal countryId_A; |
| |
| /** |
| * Employee1 constructor comment. |
| */ |
| public Employee1() { |
| super(); |
| } |
| |
| /** |
| * Amend the Employee1 descriptor with a join expression to join the multiple tables in the database. |
| */ |
| public static void amendEmployee1WithFKInfo(ClassDescriptor descriptor) { |
| // Setup the join from the address table to the country employee table to the address table by specifying the FK info to |
| // the descriptor. |
| // Set the foreign key info from the address table to the country table. |
| descriptor.addForeignKeyFieldNameForMultipleTable("MUL_EMP.ADDR_ID", "MUL_ADDR.ADDR_ID"); |
| descriptor.addForeignKeyFieldNameForMultipleTable("MUL_ADDR.CNTRY_ID", "MUL_CTRY.CNTRY_ID"); |
| } |
| |
| /** |
| * Amend the Employee1 descriptor with a join expression to join the multiple tables in the database. |
| */ |
| public static void amendEmployee1WithFKInfo(DatabaseSessionImpl session) { |
| ClassDescriptor descriptor = new LegacyTestProject().getDescriptors().get(Employee1.class); |
| amendEmployee1WithFKInfo(descriptor); |
| // Insert new descriptor. |
| session.addDescriptor(descriptor); |
| session.initializeDescriptors(); |
| } |
| |
| /** |
| * Amend the Employee1 descriptor with a join expression to join the multiple tables in the database. |
| */ |
| public static void amendEmployee1WithJoinOnly(DatabaseSessionImpl aSession) { |
| ClassDescriptor descriptor = new LegacyTestProject().getDescriptors().get(Employee1.class); |
| |
| // Setup the join from the employee table to the address table using a custom join expression and |
| // specifying the table insert order. |
| ExpressionBuilder builder = new ExpressionBuilder(); |
| descriptor.getQueryManager().setMultipleTableJoinExpression(builder.getField("MUL_EMP.ADDR_ID").equal(builder.getField("MUL_ADDR.ADDR_ID")).and(builder.getField("MUL_ADDR.CNTRY_ID").equal(builder.getField("MUL_CTRY.CNTRY_ID")))); |
| |
| // Insert new descriptor. |
| aSession.addDescriptor(descriptor); |
| aSession.initializeDescriptors(); |
| } |
| |
| /** |
| * Amend the Employee1 descriptor with a join expression to join the multiple tables in the database. |
| */ |
| public static void amendEmployee1WithJoinWithInsert(ClassDescriptor descriptor) { |
| // Setup the join from the employee table to the address table using a custom join expression and |
| // specifying the table insert order. |
| ExpressionBuilder builder = new ExpressionBuilder(); |
| descriptor.getQueryManager().setMultipleTableJoinExpression(builder.getField("MUL_EMP.ADDR_ID").equal(builder.getField("MUL_ADDR.ADDR_ID")).and(builder.getField("MUL_ADDR.CNTRY_ID").equal(builder.getField("MUL_CTRY.CNTRY_ID")))); |
| |
| Vector tables = new Vector(3); |
| tables.addElement(new DatabaseTable("MUL_CTRY")); |
| tables.addElement(new DatabaseTable("MUL_ADDR")); |
| tables.addElement(new DatabaseTable("MUL_EMP")); |
| descriptor.setMultipleTableInsertOrder(tables); |
| } |
| |
| /** |
| * Amend the Employee1 descriptor with a join expression to join the multiple tables in the database. |
| */ |
| public static void amendEmployee1WithJoinWithInsert(DatabaseSessionImpl aSession) { |
| ClassDescriptor descriptor = new LegacyTestProject().getDescriptors().get(Employee1.class); |
| |
| amendEmployee1WithJoinWithInsert(descriptor); |
| |
| // Insert new descriptor. |
| aSession.addDescriptor(descriptor); |
| aSession.initializeDescriptors(); |
| } |
| |
| public static Employee1 example1() { |
| Employee1 example = new Employee1(); |
| |
| example.setId(1); |
| example.setFirstName("Davis"); |
| example.setLastName("Vadis"); |
| example.setSex("male"); |
| example.setAddressId_A(2); |
| example.setAddressId_E(2); |
| example.setCity("Ottawa"); |
| example.setProvince("Ontario"); |
| example.setCountry("Canada"); |
| example.setCountryId_A(new java.math.BigDecimal(20)); |
| example.setCountryId_C(new java.math.BigDecimal(20)); |
| return example; |
| } |
| |
| public static Employee1 example2() { |
| Employee1 example = new Employee1(); |
| example.setId(2); |
| example.setFirstName("Tracy"); |
| example.setLastName("Chapman"); |
| example.setSex("male"); |
| example.setAddressId_A(4); |
| example.setAddressId_E(4); |
| example.setCity("Ottawa"); |
| example.setCountry("Canada"); |
| example.setCountryId_A(new java.math.BigDecimal(40)); |
| example.setCountryId_C(new java.math.BigDecimal(40)); |
| return example; |
| } |
| |
| public static Employee1 example3() { |
| Employee1 example = new Employee1(); |
| |
| example.setId(3); |
| example.setFirstName("Farag"); |
| example.setLastName("Shaeer"); |
| example.setSex("male"); |
| example.setAddressId_A(6); |
| example.setAddressId_E(6); |
| example.setCity("Ottawa"); |
| example.setCountry("Canada"); |
| example.setCountryId_A(new java.math.BigDecimal(60)); |
| example.setCountryId_C(new java.math.BigDecimal(60)); |
| return example; |
| |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @return int |
| */ |
| public int getAddressId_A() { |
| return addressId_A; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @return int |
| */ |
| public int getAddressId_E() { |
| return addressId_E; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @return java.lang.String |
| */ |
| public String getCity() { |
| return city; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @return java.lang.String |
| */ |
| public String getCountry() { |
| return country; |
| } |
| |
| /** |
| * * PUBLIC INTERNAL: |
| * * OneLineSummary. |
| * * DetailsOfMethodIfNecessary |
| * * |
| * * @returns TextDescribingWhatTheMethodReturns |
| * * @see #something |
| * * @see #somethingElse |
| * * @return java.lang.Class |
| * |
| * @return java.math.BigDecimal |
| */ |
| public java.math.BigDecimal getCountryId_A() { |
| return countryId_A; |
| } |
| |
| /** |
| * * PUBLIC INTERNAL: |
| * * OneLineSummary. |
| * * DetailsOfMethodIfNecessary |
| * * |
| * * @returns TextDescribingWhatTheMethodReturns |
| * * @see #something |
| * * @see #somethingElse |
| * * @return java.lang.Class |
| * |
| * @return java.math.BigDecimal |
| */ |
| public java.math.BigDecimal getCountryId_C() { |
| return countryId_C; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @return java.lang.String |
| */ |
| public String getFirstName() { |
| return firstName; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @return int |
| */ |
| public int getId() { |
| return id; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @return java.lang.String |
| */ |
| public String getLastName() { |
| return lastName; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @return java.lang.String |
| */ |
| public String getProvince() { |
| return province; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @return java.lang.String |
| */ |
| public String getSex() { |
| return sex; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @param value java.lang.String |
| */ |
| public void setAddressId_A(int value) { |
| addressId_A = value; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @param value java.lang.String |
| */ |
| public void setAddressId_E(int value) { |
| addressId_E = value; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @param value java.lang.String |
| */ |
| public void setCity(String value) { |
| city = value; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @param value java.lang.String |
| */ |
| public void setCountry(String value) { |
| country = value; |
| } |
| |
| /** |
| * * PUBLIC INTERNAL: |
| * * OneLineSummary. |
| * * DetailsOfMethodIfNecessary |
| * * |
| * * @returns TextDescribingWhatTheMethodReturns |
| * * @see #something |
| * * @see #somethingElse |
| * * @return java.lang.Class |
| * |
| * @param newValue java.math.BigDecimal |
| */ |
| public void setCountryId_A(java.math.BigDecimal newValue) { |
| this.countryId_A = newValue; |
| } |
| |
| /** |
| * * PUBLIC INTERNAL: |
| * * OneLineSummary. |
| * * DetailsOfMethodIfNecessary |
| * * |
| * * @returns TextDescribingWhatTheMethodReturns |
| * * @see #something |
| * * @see #somethingElse |
| * * @return java.lang.Class |
| * |
| * @param newValue java.math.BigDecimal |
| */ |
| public void setCountryId_C(java.math.BigDecimal newValue) { |
| this.countryId_C = newValue; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @param value java.lang.String |
| */ |
| public void setFirstName(String value) { |
| firstName = value; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @param value java.lang.String |
| */ |
| public void setId(int value) { |
| id = value; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @param value java.lang.String |
| */ |
| public void setLastName(String value) { |
| lastName = value; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @param value java.lang.String |
| */ |
| public void setProvince(String value) { |
| province = value; |
| } |
| |
| /** |
| * This method was created in VisualAge. |
| * @param value java.lang.String |
| */ |
| public void setSex(String value) { |
| sex = value; |
| } |
| |
| public String toString() { |
| return "Employee1(" + firstName + " " + lastName + ")"; |
| } |
| } |