content: package com.alibaba.json.demo.hibernate.data;
  
  
  import com.fasterxml.jackson.annotation.JsonBackReference;
  
  import javax.persistence.AttributeOverride;
  import javax.persistence.AttributeOverrides;
  import javax.persistence.Column;
  import javax.persistence.EmbeddedId;
  import javax.persistence.Entity;
  import javax.persistence.FetchType;
  import javax.persistence.JoinColumn;
  import javax.persistence.ManyToOne;
  import javax.persistence.Table;
  
  @SuppressWarnings("serial")
  @Entity
  @Table(name="OrderDetail"
      ,catalog="classicmodels"
  )
  public class OrderDetail  implements java.io.Serializable {
  
  
       private OrderDetailId id;
       private Order order;
       private Product product;
       private Integer quantityOrdered;
       private double priceEach;
       private short orderLineNumber;
  
      public OrderDetail() {
      }
  
      public OrderDetail(OrderDetailId id, Order order, Product product, Integer quantityOrdered, double priceEach, short orderLineNumber) {
         this.id = id;
         this.order = order;
         this.product = product;
         this.quantityOrdered = quantityOrdered;
         this.priceEach = priceEach;
         this.orderLineNumber = orderLineNumber;
      }
     
       @EmbeddedId
      
      @AttributeOverrides( {
          @AttributeOverride(name="orderNumber", column=@Column(name="orderNumber", nullable=false) ), 
          @AttributeOverride(name="productCode", column=@Column(name="productCode", nullable=false, length=50) ) } )
      public OrderDetailId getId() {
          return this.id;
      }
      
      public void setId(OrderDetailId id) {
          this.id = id;
      }
      @ManyToOne(fetch=FetchType.LAZY)
      @JoinColumn(name="orderNumber", nullable=false, insertable=false, updatable=false)
      @JsonBackReference("orderdetail-order")
      public Order getOrder() {
          return this.order;
      }
      
      public void setOrder(Order order) {
          this.order = order;
      }
      @ManyToOne(fetch=FetchType.LAZY)
      @JoinColumn(name="productCode", nullable=false, insertable=false, updatable=false)
      @JsonBackReference("order-product")
      public Product getProduct() {
          return this.product;
      }
      
      public void setProduct(Product product) {
          this.product = product;
      }
      
      @Column(name="quantityOrdered", nullable=false)
      public Integer getQuantityOrdered() {
          return this.quantityOrdered;
      }
      
      public void setQuantityOrdered(Integer quantityOrdered) {
          this.quantityOrdered = quantityOrdered;
      }
      
      @Column(name="priceEach", nullable=false, precision=22, scale=0)
      public double getPriceEach() {
          return this.priceEach;
      }
      
      public void setPriceEach(double priceEach) {
          this.priceEach = priceEach;
      }
      
      @Column(name="orderLineNumber", nullable=false)
      public short getOrderLineNumber() {
          return this.orderLineNumber;
      }
      
      public void setOrderLineNumber(short orderLineNumber) {
          this.orderLineNumber = orderLineNumber;
      }
  
  
  
  
  }
  
  
  