| /* |
| * Copyright (c) 1998, 2020 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.jpa.relationships; |
| |
| import jakarta.persistence.*; |
| import static jakarta.persistence.GenerationType.*; |
| import static jakarta.persistence.CascadeType.*; |
| import static jakarta.persistence.FetchType.*; |
| |
| import org.eclipse.persistence.annotations.CopyPolicy; |
| |
| @Entity(name="OrderBean") |
| @Table(name="CMP3_ORDER") |
| @CopyPolicy(org.eclipse.persistence.testing.models.jpa.relationships.TestInstantiationCopyPolicy.class) |
| @NamedQuery( |
| name="findAllOrdersByItem", |
| query="SELECT OBJECT(theorder) FROM OrderBean theorder WHERE theorder.item.itemId = :id" |
| ) |
| @NamedNativeQueries({/*empty*/}) //Test for GF#1624 - Weaving failed if there is empty annotation array value |
| public class Order implements java.io.Serializable { |
| private Integer orderId; |
| private int version; |
| private Item item; |
| private int quantity; |
| private String shippingAddress; |
| private Customer customer; |
| private Customer billedCustomer; |
| private SalesPerson salesPerson; |
| private Auditor auditor; |
| private OrderLabel orderLabel; |
| private OrderCard orderCard; |
| |
| public Order() {} |
| |
| @ManyToOne |
| @JoinTable( |
| name = "JPA_ORDER_AUDITOR", |
| joinColumns = @JoinColumn(name="ORDER_ID"), |
| inverseJoinColumns = @JoinColumn(name="AUDITOR_ID") |
| ) |
| public Auditor getAuditor() { |
| return auditor; |
| } |
| |
| public void setAuditor(Auditor auditor) { |
| this.auditor = auditor; |
| } |
| |
| @OneToOne(cascade=PERSIST) |
| @JoinTable( |
| name = "JPA_ORDER_ORDER_LABEL", |
| joinColumns = @JoinColumn(name="ORDER_ID"), |
| inverseJoinColumns = @JoinColumn(name="ORDER_LABEL_ID") |
| ) |
| public OrderLabel getOrderLabel() { |
| return orderLabel; |
| } |
| |
| public void setOrderLabel(OrderLabel orderLabel) { |
| this.orderLabel = orderLabel; |
| } |
| |
| @OneToOne(mappedBy="order", cascade=PERSIST) |
| public OrderCard getOrderCard() { |
| return orderCard; |
| } |
| |
| public void setOrderCard(OrderCard orderCard) { |
| this.orderCard = orderCard; |
| if (this.orderCard != null) { |
| this.orderCard.setOrder(this); |
| } |
| } |
| |
| @Id |
| @GeneratedValue(strategy=TABLE, generator="ORDER_TABLE_GENERATOR") |
| @TableGenerator( |
| name="ORDER_TABLE_GENERATOR", |
| table="CMP3_CUSTOMER_SEQ", |
| pkColumnName="SEQ_NAME", |
| valueColumnName="SEQ_COUNT", |
| pkColumnValue="ORDER_SEQ" |
| ) |
| @Column(name="ORDER_ID") |
| public Integer getOrderId() { |
| return orderId; |
| } |
| |
| public void setOrderId(Integer id) { |
| this.orderId = id; |
| } |
| |
| @Version |
| @Column(name="ORDER_VERSION") |
| protected int getVersion() { |
| return version; |
| } |
| |
| protected void setVersion(int version) { |
| this.version = version; |
| } |
| |
| @OneToOne(cascade=PERSIST, fetch=LAZY) |
| public Item getItem() { |
| return item; |
| } |
| |
| public void setItem(Item item) { |
| this.item = item; |
| } |
| |
| public int getQuantity() { |
| return quantity; |
| } |
| |
| public void setQuantity(int quantity) { |
| this.quantity = quantity; |
| } |
| |
| @Column(name="SHIP_ADDR") |
| public String getShippingAddress() { |
| return shippingAddress; |
| } |
| |
| public void setShippingAddress(String shippingAddress) { |
| this.shippingAddress = shippingAddress; |
| } |
| |
| @ManyToOne(fetch=LAZY) |
| public Customer getCustomer() { |
| return customer; |
| } |
| |
| public void setCustomer(Customer customer) { |
| this.customer = customer; |
| } |
| |
| @ManyToOne(fetch=LAZY) |
| public Customer getBilledCustomer() { |
| return billedCustomer; |
| } |
| |
| public void setBilledCustomer(Customer billedCustomer) { |
| this.billedCustomer = billedCustomer; |
| } |
| |
| @ManyToOne(fetch=LAZY) |
| public SalesPerson getSalesPerson() { |
| return salesPerson; |
| } |
| |
| public void setSalesPerson(SalesPerson salesPerson) { |
| this.salesPerson = salesPerson; |
| } |
| } |